感谢二位的热心解答。 我来仔细阐述一下我刚刚的问题,刚刚提到的B/S指的是 Browser to Server.
1)假设是使用 AES 加密方式 Javascript 必然会涉及到 加密与解密的算法核心函数,那么会对外彻底暴露出去。( 我的个人理解 ) 那么,有没有一种方式能够隐藏掉这个写有算法的脚本文件呢? 2)假设是使用过期的key - 算法暴露是必然,但key能动态变化 - 用户于当前页悬停时间过长则会导致key失效,当然也可以不对key设置过期时间,将其变成一次性的key,用完即弃。 3)假设使用 https - 客户端与服务器交互的次数多 比较耗费服务器资源 - 有可能会提示不安全的站点 4)关于使用证书,这种方式不利于用户体验,所以放弃掉。 5)Com 组建 - 针对PC客户端,但是移动设备似乎不能支持 - 针对浏览器分别开发,成本高 - 在这里,我在核心问题其实就是如何不暴露加密解密函数,如果是将其嵌入在JavaScript中,如何不会被发现这个脚本呢? — 蜜圈项目经理 吕阳 185-0285-3025 在 2014年8月6日 上午11:27:36, OOO ([email protected]) 写到: 不知道你說的 C/S 是不是 client side, B/S 是不是 browser side 不過這些加密機制本來就都是公開的演算法 如果是未公開的加密演算法自然不該放到 Browser 端 W3C 那個 API 也只是把這些已知的加密實做放到瀏覽器 不然本來要透過外部讀入 js 檔才能加密 而且有些檔案很大會影響 Web App 的效能 2014-08-06 9:25 GMT+08:00 Yang.Lyu <[email protected]>: > Dear All: > > 大家好,刚接触前端不太久。心里存在很多莫名其妙的疑问。 > 请教大家一个关于前端数据加密的问题。 > > 我在印象里,C/S结构的应用可以通过加解密数据与服务器之间通讯,但是B/S类型的应用如何处理呢? > 所有的加解密手段不是都暴露出去了吗? > 比如AES加密方式,当然证书与Https类型不考虑,对于用户而言似乎不太友好。 > > 所以,请教大家,有更好的办法吗? > > W3c似乎有一个Web Cryptography API草案,大家怎么看呢? > > > — > 蜜圈项目经理 吕阳 > 185-0285-3025 -- OOO
