【问题标题】:How to encrypt database SQLite using Adobe AIR 2.0如何使用 Adob​​e AIR 2.0 加密数据库 SQLite
【发布时间】:2010-11-24 02:21:13
【问题描述】:

我只想问如何使用 adobe air 2.0 加密数据库。我发现了一些使用 Adob​​e air 1.5 的代码。这里是代码:

// Include AIRAliases.js to use air.* shortcuts
var conn = new air.SQLConnection(); 
conn.addEventListener(air.SQLEvent.OPEN, openHandler); 
conn.addEventListener(air.SQLErrorEvent.ERROR, errorHandler); 
var dbFile = air.File.applicationStorageDirectory.resolvePath("DBSample.sqlite"); 

var encryptionKey = new air.ByteArray(); 
encryptionKey.writeUTFBytes("Some16ByteString"); // This technique is not secure! 

conn.openAsync(dbFile, air.SQLMode.CREATE, null, false, 1024, encryptionKey); 

function openHandler(event) 
{ 
    air.trace("the database opened successfully"); 
} 

function errorHandler(event) 
{ 
    if (event.error.errorID == 3138) 
    { 
        air.trace("Incorrect encryption key"); 
    } 
    else 
    { 
        air.trace("Error message:", event.error.message); 
        air.trace("Details:", event.error.details); 
    } 
}

它不起作用。它只是显示错误:air.SQLMode 不是对象

有人可以解决吗?谢谢

【问题讨论】:

  • 看到那些“空气”很奇怪。尝试编写正确的导入并直接引用类名。 SQLMode 在 flash.data 中,而不是 air。

标签: database sqlite air adobe encryption


【解决方案1】:

您看到 air.* 别名的原因是因为该示例旨在用于 JavaScript。如果您使用的是 ActionScript,则需要删除 air.* 别名,而只需导入类即可。

对于 JavaScript,由于没有“import”语句,AIR 团队创建了一个文件 airaliases.js,为所有 AIR 类创建别名,这样您就不必每次都使用完全限定的类名你想使用这个类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 2019-08-13
    相关资源
    最近更新 更多