我正在开发一个ASP.NET MVC应用程序,其中我想使用C#加密服务器上的一个短字符串,并将其发送到客户端.
@H_404_2@然后在客户端,它将通过Javascript代码进行解密.
@H_404_2@关于如何实现这一点的任何想法?
@H_404_2@你知道一个简单的加密算法(不必具有防弹安全性),可以很容易地从C#转换为Javascript,反之亦然
@H_404_2@注意:我可以完全在C#中完成,并通过Ajax进行解密,但是我不想这样做,因为我想尽可能地减少网站流量.
解决方法
System.Security.Cryptography有一堆对称(和非对称)加密算法可以使用. (对于超级安全使用
aes)
@H_404_2@您应该能够为大多数人找到匹配的Javascript实现(这里是JS中的一些实现)
@H_404_2@> http://www.movable-type.co.uk/scripts/aes.html
> http://www.hanewin.net/encrypt/aes/aes.htm @H_404_2@注意:如果您计划使用基于私钥的加密,那么请记住,您的网页将嵌入其中的密钥,这意味着所有这些都成为无意义的原因,任何人访问该页面都可以进行解密,最好你会使屏幕刮板的生活更加困难一些.如果使屏幕刮刀更加生硬,那么您的目标就是使用obsfucation算法.任何微不足道的实施对于没有javascript引擎的屏幕刮板来说都是不切实际的: @H_404_2@例如.
> http://www.hanewin.net/encrypt/aes/aes.htm @H_404_2@注意:如果您计划使用基于私钥的加密,那么请记住,您的网页将嵌入其中的密钥,这意味着所有这些都成为无意义的原因,任何人访问该页面都可以进行解密,最好你会使屏幕刮板的生活更加困难一些.如果使屏幕刮刀更加生硬,那么您的目标就是使用obsfucation算法.任何微不足道的实施对于没有javascript引擎的屏幕刮板来说都是不切实际的: @H_404_2@例如.
function samObsfucated() { return("s" + "a" + "m" + "@" + "s" + "." + "com"); }@H_404_2@然后使用这些功能的输出填充您的电子邮件字段. @H_404_2@对于为用户ala clipperz存储密码的软件,Javascript加密具有非常好的用例