2011-06-27 38 views
1

我想使用Flash AS3共享对象(“Flash cookies”)来存储密码。 默认情况下是安全的还是我需要一种技术来加密它?Flash共享对象(cookie) - 安全地存储密码?

我找不到有关任何人可以查找什么共享对象由Flash设置和什么内容在里面的信息。 任何信息都非常受欢迎。 Uli

回答

3

一般规则是,除非使用某种形式的共享加密(例如HTTPS),否则存储在客户端上的任何内容都可以从客户端中提取。使用Flash,这是非常正确的 - Flash非常简单,反编译和SharedObjects在离线状态下工作,这意味着如果您可以欺骗源站点,则可以读取该对象。这需要我大约30分钟,但我怀疑我可以将我机器上的每个共享对象渲染为可读的JSON。

如果您必须在客户端上存储密码或用户名,然后以某种形式的单向加密(如SHA或(如果您处于绑定中)MD5)存储它。 as3crypto库是here。但是,请记住,客户端的某个人仍然可以获取该值并将其复制到另一台机器上。

几个旁白:SharedObjects在AS3中不是新的。我记得在传统的AS2库中使用它们。其次:通过使用SharedObjects几乎没有获得我发现它们在IE和世界其他地方之间不一致。当然,使用Flash投影仪,它们是您唯一的选择。 Cookie的另一个好处是,Cookie可以更容易保护,因为它们可以通过双向加密进行服务器端验证。确定的奖金。

1

不要在客户端保存密码!虽然它也是不安全的,你可以使用校验: How to calculate CRC checksum in Actionscript 3?

的Flash cookies是Local Shared Objects和将它们保存为二进制文件.sol

+0

更好的是,使用实际的散列函数:http://gsolofp.blogspot.com/2006/01/actionscript-3-md5-and-sha1.html –

+1

@Mar Caron:提及的文章[“如何计算在Actionscript 3中的CRC校验和?“](http://stackoverflow.com/q/3459953/256544)指的是支持MD5,SHA1等的[as3corelib](http://github.com/mikechambers/as3corelib/)。 – splash