我使用md5哈希将密码存储到数据库中。我知道空字符串也有md5哈希。
我的问题是如何检查用户是否给我一个空字符串?
我的意思是:用户可以给""
,也可以给我一个空间" "
,我如何区分它们。是的,我可以使用trim
正常的php代码,然后检查它是否为空。但是我如何检查它是否是md5?
为什么不先检查你的字符串是否为空,然后再加密呢?
不管怎样,这段代码可以达到目的
<?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);
}
?>
参考