- 我不想在我正在建立的网站上使用SSL来加密注册和登录表单。
- 我没有钱支付证书费用。
- 我需要在我的asp.net网站中使用jQuery进行加密,使用C#进行解密。
有人有例子吗?这种方法安全吗?
有人有例子吗?这种方法安全吗?
如果您没有使用SSL,则不安全,但这并不是唯一的原因。
SSL保护实际通信,而加密则保护你所传输的数据。你甚至不应该对密码进行加密。你应该对信息进行硬化哈希处理。hash是一个单向函数(不能被反转),而encryption是双向函数(可以被反转)。哈希硬化和使用包括:
SHA512
几千次或使用类似于 BCrypt 的东西。你必须记住,安全性是逐层构建的。如果跳过SSL,你就跳过了其中很大一部分。至少你可以使用makecert
来创建自签名证书。所有会发生的事情就是用户会收到警告。一个好的SSL证书在GoDaddy上可能只需花费$12.99。我建议你除了实施上述措施外,还应该获取一个好的SSL证书。
您可以不付费即可使用SSL,这种方法只会让浏览器获得关于您的证书不合格的信息。
阅读此链接了解更多信息:http://www.akadia.com/services/ssh_test_certificate.html
这可能根本不安全。SSL确实是正确的选择;如果您买不起证书,您总可以自己制作一个。显然,这些证书不会被一个受信任的根机构验证,但它们同样安全——您的网站身份将不会被受信任的第三方确认,但连接本身将被同样安全地加密。
如果不使用SSL,您就会将代码暴露给网络嗅探攻击。在客户端加密也没有任何好处。
不幸的是,没有安全的方法可以规避此问题,除非获取有效证书。其他方法是不安全的。
我同意其他人的安全顾虑,如果你非常坚定地要这样做,你可以尝试使用自定义PKI接口。你需要更深入地研究所需的代码,但这里有一个链接描述了公钥结构:
因此,如果你能够在jquery中编写公钥RSA算法,你应该能够轻松匹配C#中的私钥解密。这并不是一种建议,因为这只是“通过混淆实现安全”(根本不是安全)。
你可以使用Javascript加密表单数据。这是可行的,可以参考http://www.movable-type.co.uk/scripts/aes.html。如果使用密钥加密数据,则需要将该密钥存储在Javascript代码和服务器端代码中。由于Javascript代码将在客户端运行且密钥是公开的,所以这并不安全 : )。对于非对称加密也是同样有效的。不同的数据可以用相同的密钥加密并发送到服务器。
SSL是为解决网络安全问题而设计的,使用了公钥密码学和对称加密技术。它可以防止中间人攻击。使用SSL,您可以确保您的数据安全,不会被篡改,并且有第三方证书机构证明您是所声称的人。
如果你说我可以将密钥或加密代码放在小程序、ActiveX或Flash SWF对象中,并使用混淆来保护代码,那可能是一种方法。但是这种方法仍然容易受到攻击,不安全。混淆并不能保证您的密钥或算法是安全的,只能增加破解者获取密钥的难度。
希望对您有所帮助。
您可以使用HMAC进行身份验证。这不会提供隐私,但嗅探器(查看网络流量的人)将无法获取密码或冒充真实用户登录。当我说它不提供隐私时,我的意思是嗅探器将看到所有传输的内容,但不会看到密码。
SSL当然非常安全,但对于许多应用程序来说可能过于复杂。