可能重复:
MD5加密哈希函数输出在所有编程语言中是否相同?
嗨,
我有关于md5哈希的问题.用户可以在我的项目上上传个人资料照片.我是用于个人资料图片名称的md5哈希用户名.但有一些有趣的东西.我在服务器上测试页面和md5加密网站的值都有相同的结果.当我使用此加密来重命名图像时,它会产生不同的东西.它在图像处理文件上产生不同的值.
你有什么主意吗?
这是我的检查脚本:
<?php echo md5('funky'); ?>
Run Code Online (Sandbox Code Playgroud)
它在我的服务器和md5encrypter.com上生成以下代码:
6b818a3a6bf1234ed24c940021922b63
Run Code Online (Sandbox Code Playgroud)
但它产生于我的图像处理文件下面的代码.我不知道它是什么:
d41d8cd98f00b204e9800998ecf8427e
Run Code Online (Sandbox Code Playgroud)
用于SQL查询的脚本.$ userId来自登录的userId:
$sql = mysql_query("SELECT username FROM users WHERE userId='$userId'");
while($row=mysql_fetch_assoc($sql)){
$username=$row['username'];
}
Run Code Online (Sandbox Code Playgroud)
d41d8cd98f00b204e9800998ecf8427e 是一个空字符串的MD5哈希值,所以你无法用更有用的东西填充你的字符串...
MD5将始终为给定输入生成相同的输出,否则它不是MD5.我所做的只是谷歌你得到的哈希,它出现了很多点击.如果我没有受到打击,我会搜索一些反向的MD5词典,这些词汇是否能提供一些线索.
幸运的是,你的哈希只是结果MD5(''),非常普遍.它清楚地表明你试图从你的数据库中获取一些东西,失败了,无论如何都要对它进行哈希处理.