【发布时间】:2013-03-03 13:39:48
【问题描述】:
我正在开发一个 CMS 系统,我想添加一个功能来保护用户的数据。当然,密码是散列的,只能使用暴力破解来解码。但现在是关于其余数据,例如他们的邮件地址。我想要一个功能,当用户注册时可以对邮件地址进行编码,每次发送邮件时都可以对其进行解码。现在哈希的问题是你不能轻易地将它转换回来(我认为),至少对于 md5 和 sh1 和类似的算法,这是不可能的,所以这不是我想要的。
我想要一个可以在编码和解码过程中使用盐的功能。这意味着我在 Web 应用程序的某个位置存储了一个随机字符串,该字符串用作此过程的“种子”或“盐”,因此如果该随机字符串不同,结果会有所不同,这使得解码一次变得更加困难黑客(例如)闯入数据库并窃取数据。
我在 PHP 中看到了一个名为 base64_encode() 和 base64_decode() 的函数,这些函数可以很容易地对数据进行编码和解码。这些函数的问题是没有“盐”参数,我认为它作为保护不是很好。是否有一个功能可以通过编码和解码功能以及盐参数提供更多保护?
提前致谢, 蒂姆·维塞
【问题讨论】:
-
嗯...解码和编码一切都会对性能产生影响。最重要的是:您还必须在前端编码东西,这只能通过任何人都可以读取的 JS 来完成。也许你应该使用 SSL 加密
-
起初,我错了,我的意思是“加密”,这就是为什么我没有找到答案的原因,我想,英语不是我的母语......顺便说一句,你为什么认为我需要例如,使用 Javascript 在客户端上加密或解密内容?我认为这一切都可以在服务器端完成。加密不是用来安全地向浏览器发送数据,那么我将使用 SSL。