在通过HTTP GET / POST发送之前,我需要在客户端对用户名/密码进行加扰。在对数据库进行检查之前,服务器将使用Tcl对其进行解码。
目前我正在考虑在客户端使用JavaScript。 Java Applet也可以。
有没有办法,我可以使用Simple XOR或任何其他方法轻松实现它? (非常感谢例子)
我在C / Python / .NET / Java中找到了一些样本......但不是在JavaScript和Tcl中。
遗憾的是,SSL不是一个可供使用的选项。
答案 0 :(得分:1)
如果ssl不是一个选项,那么我建议使用以下方案,许多网站使用该方案而不是SSL:
以下是关于如何使用MD5计算哈希值的建议:
package require md5
proc calculateHash {user password salt} {
return md5:md5 -hex "$user:$salt:$password"
}
如何使用它:
set user "johnny"
set password "begood2mama"
set salt "myDog_is_meaner_than_yourDog"
set hash [calculateHash $user $password $salt]
答案 1 :(得分:1)
superNobody,
您应该考虑在数据库中存储纯文本密码的替代方法。参见:
不是在Javascript中对密码进行编码,而是在Tcl中解码密码以与数据库进行比较,您应该在Javascript中考虑SHA1散列,并在数据库中存储SHA1散列值。
javascript中有几个可用的SHA1哈希函数示例(只是谷歌'sha1 javascript')。 tcllib Tcl库支持SHA1。
正如HaiVu所提到的,你还应该考虑散列/存储不只是一个直接的密码哈希,而是使用类似SHA1(用户名+网站名+密码)的东西。您可以在Javascript中在客户端上计算它,并将其存储在db。
中