我使用md5哈希将密码存储到数据库中。我知道空字符串也有md5哈希。
我的意思是:
用户可以提供""
,它也可以给我一个空格" "
我将如何区分它们。是的我可以使用trim
作为普通的PHP代码,然后检查它是否为空。但是如何检查它是否是md5?
答案 0 :(得分:0)
为什么在加密之前不检查字符串是否为空?
无论如何这段代码都可以解决问题
<?php
$md5 = 'd67c5cbf5b01c9f91932e3b8def5e5f8';
$flag = Check_Valid_Md5_String($md5);
if ($flag){ // flag true means string is a valid md5 encrypation
echo 'valid md5 string';
}else{
echo 'invalid md5 string or empty string';
}
//this function will check the string
function Check_Valid_Md5_String($md5=''){
if(empty($md5)) return false;
return preg_match('/^[a-f0-9]{32}$/', $md5);
}
?>