使用jquery加密用户密码并使用C#解密

  • 我不想使用SSL来加密我正在构建的网站的注册和登录表单。
    • 我没有钱支付证书。
    • 我需要在我的asp.net网站上使用带有Jquery的enryption和C#的解密。

有人有一个例子,采用这种方法有什么安全吗?

如果您没有使用SSL,那么您就不安全了,但这不是唯一的原因。

SSL保护实际通信,而加密保护您正在通信的数据。 你根本不应该加密密码。 你应该对信息做一个强化的哈希 。 哈希是单向函数(不能反转),而加密是双向函数(可以反转)。 哈希强化和使用包括:

  • 迭代为速度构建的哈希,例如SHA512几千次或使用类似BCrypt的东西。
  • 使用salt – 存储在数据库中的每个用户的64位数组混乱的东西都可以
  • 使用应用程序层中的密钥加密数据库中的密钥和盐 – 这意味着如果采用数据库,他们仍然需要来自应用程序层的密钥来访问原始哈希信息以及盐。

您必须记住,安全性是按层构建的。 通过跳过SSL,您正在跳过大部分内容。 至少,您可以使用makecert 创建自签名证书 。 所有将要发生的事情是用户将被警告。 一个好的SSL证书在GoDaddy上只需12.99美元。 我推荐一个以及实现上述内容。

您可以在不支付证书的情况下执行SSL,并且此方法可以确保您只有浏览器获取有关您的证书的信息不合格。

阅读http://www.akadia.com/services/ssh_test_certificate.html

它可能根本不安全。 SSL真的是要走的路; 如果你买不起证书,你可以随时自己做。 显然,这些不会validation一个受信任的root权限,但它们同样安全 – 您的网站的身份将不会被受信任的第三方确认,但连接本身将被安全地加密。

通过不使用SSL,您可以打开代码来进行网络嗅探攻击。 在客户端加密也不会有任何好处。

不幸的是,没有获得有效的证书就没有安全的方法。 这种方法是不安全的。

我同意其他人的安全问题,如果你以这种方式做皮革,那么你可能会尝试使用自定义PKI界面。 您将不得不更深入地研究完成此任务所需的代码,但这里有一个描述公钥结构的链接:

公钥密码学

因此,如果您设法在jquery中编写公钥RSA算法,那么您应该毫不费力地在C#中匹配其私钥解密。 这不是推荐,因为这实际上只是“通过混淆的安全性”(根本不是安全性)。

您可以使用Javascript加密表单数据。 可以这样做,请参阅http://www.movable-type.co.uk/scripts/aes.html 。 如果数据是使用密钥加密的,那么您必须将该密钥存储在javascript代码中以及服务器端代码中。 由于javascript代码将是客户端,密钥将是公共的,这根本不安全:)。 这同样对非对称加密也有效。 可以使用相同的密钥加密不同的数据并将其发送到服务器。

SSL旨在使用公钥密码术和对称加密技术来克服Web上的安全问题。 中间人的袭击被阻止了。 使用SSL,您可以确保您的数据是安全的,而不是通过这种方式进行更改,并且有第三方证书颁发机构,它说您是您声称的那个人。

如果您说我可以将密钥或加密代码放在applet或active-x或flash swf对象中并使用模糊处理来保护代码,那么这可能是一种方法。 但是这种方法再次受到攻击并且不安全。 混淆并不能保证您的密钥或算法是安全的,只是加强了破解者的工作以获得密钥。

我希望有所帮助。

您可以使用HMAC进行身份validation。 这不会提供隐私,但是嗅探器(查看网络流量的人)将无法获取密码,也无法登录模拟真实用户。 当我不提供隐私时,我的意思是嗅探器将看到所有传输的内容而不是密码。

SSL当然非常安全,但对于许多应用程序来说都是过度杀伤力。