我有一个网站,要求用户使用用户名和密码对自己进行身份验证。我想使用 SSL,但我没有 SSL 证书。但我会做一些我认为还可以的事情。
我的网站主要基于 AJAX 并且需要JavaScript,否则将无法正常工作。
当用户尝试登录时,我使用 AJAX 查询数据库以查找该用户名的盐,如果没有找到随机盐(以防止人们知道是否存在具有该用户名的用户) . 然后,使用 JavaScript 的 MD5 函数,我在客户端对密码进行 4K 次哈希和加盐(就像 Linux 在使用 MD5 进行密码哈希时所做的那样)客户端,然后我将该哈希以纯文本形式传递给服务器。然后,这个哈希值会再被哈希几次,并与数据库中的内容进行检查。
这安全吗?如果没有,我怎样才能在不为大部分内部网站的 SSL 证书支付现金的情况下保护它?