包 | flash.data |
类 | public class EncryptedLocalStore |
继承 | EncryptedLocalStore Object |
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 |
您可能想使用加密的本地存储来存储必须安全的信息,如用于 Web 服务的登录凭据。
在 AIR Debug Launcher (ADL) 中测试应用程序时,该应用程序使用的加密本地存储不同于已安装的 AIR 应用程序所使用的加密本地存储。
AIR 使用 Windows ® 上的 DPAPI、Mac ® OS ® 上的 KeyChain 以及 Linux ® 上的 KeyRing 或 KWallet 将加密的本地存储区与每个应用程序和用户相关联。加密的本地存储使用 AES-CBC 128 位加密。
加密的本地存储中的信息仅可用于应用程序安全沙箱中的 AIR 应用程序内容。
加密的本地存储中的项目用字符串进行标识。所有项目都存储为字节数组数据。
若存储的数据超过 10 MB,加密本地存储将进行得更慢。
当卸载 AIR 应用程序时,卸载程序不会删除存储在加密本地存储中的数据。
加密的本地存储数据存放在用户的应用程序数据目录的子目录中,该子目录的路径为 Adobe/AIR/ELS/ 后面跟随应用程序 ID。
方法 | 定义方 | ||
---|---|---|---|
[静态] 返回加密本地存储中具有给定名称的项目的数据。 | EncryptedLocalStore | ||
指示对象是否已经定义了指定的属性。 | Object | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
指示指定的属性是否存在、是否可枚举。 | Object | ||
[静态] 从加密本地存储中删除具有给定名称的项目。 | EncryptedLocalStore | ||
[静态] 清除整个加密本地存储,从而删除所有数据。 | EncryptedLocalStore | ||
[静态] 将具有给定名称的项目设置为所提供的 ByteArray data。 | EncryptedLocalStore | ||
设置循环操作动态属性的可用性。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object |
getItem | () | 方法 |
public static function getItem(name:String):ByteArray
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 |
返回加密本地存储中具有给定名称的项目的数据。如果不存在具有指定名称的项目,则此方法返回 null
。
参数
name:String — 加密的本地存储中的项目的名称。 |
ByteArray —
ByteArray 数据。如果没有用于所提供的 name 的数据,则该方法返回 null 。
|
ArgumentError —
name 值为 null 或空字符串。
|
removeItem | () | 方法 |
public static function removeItem(name:String):void
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 |
从加密本地存储中删除具有给定名称的项目。
参数
name:String — 加密的本地存储中的项目的名称。 |
ArgumentError —
name 值为 null 或空字符串。
|
reset | () | 方法 |
setItem | () | 方法 |
public static function setItem(name:String, data:ByteArray, stronglyBound:Boolean = false):void
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 |
将具有给定名称的项目设置为所提供的 ByteArray data
。
参数
name:String — 加密的本地存储中的项目的名称。 | |
data:ByteArray — 数据。 | |
stronglyBound:Boolean (default = false ) —
如果设置为 true ,则存储的项目除了绑定到应用程序的发行者 ID 外,还会强绑定到 AIR 应用程序的数字签名和位。如果执行调用的 AIR 应用程序的位与执行存储的应用程序的位不匹配,则针对此项目对 getItem() 的后续调用会导致运行时异常。如果您更新应用程序,它将无法读取以前写入到加密本地存储中的强绑定数据。
|
ArgumentError —
name 值为 null 或空字符串。
默认情况下,AIR 应用程序无法读取其他应用程序的加密本地存储。 |
var str:String = "Bob"; var bytes:ByteArray = new ByteArray(); bytes.writeUTFBytes(str); EncryptedLocalStore.setItem("firstName", bytes); var storedValue:ByteArray = EncryptedLocalStore.getItem("firstName"); trace(storedValue.readUTFBytes(storedValue.length)); // "Bob" EncryptedLocalStore.removeItem("firstName");