我正在使用Laravel 5,并为一个项目做准备。其中一个要求是系统中存储的电子邮件必须经过加密。我正在使用Laravel 5的外观,以及相关的和方法。
问题在于,即使给出相同的字符串,加密后的值似乎不同。起初,我认为这可能与字段最大长度有关,但两个哈希值都在字段上设置的255长度以下。
例如,看看这个转储;
PHP
问题在于,即使给出相同的字符串,加密后的值似乎不同。起初,我认为这可能与字段最大长度有关,但两个哈希值都在字段上设置的255长度以下。
例如,看看这个转储;
PHP
$hash1 = 'eyJpdiI6InJFNTFkdktpVU9cL1wvRTJPVk94SURiUT09IiwidmFsdWUiOiJIZVh4Y1NyUGpVcTVFVTNSbWdUNnJCUWRHSGZTcnFTQWJKa1h0Q1wvMEVtZnFuM3dDeFwvXC9hdUs4enFXXC94dEJ0cSIsIm1hYyI6IjFjNjZjODFjMjI5NTQ0NmVhZDUwODQzODE0OTQ4NTdjMzAxNTQ5Y2ZjY2M4YzRiODU0ZjIwNDhmMDA0Yjc4OWQifQ';
$hash2 = 'eyJpdiI6ImRBVWNKVTlJZVFmckk2T0c4cXNObFE9PSIsInZhbHVlIjoidElqcE5TMUFwVHZXeW12R3hKMFVFWlR0WmgxOFRBbW5cL2V3dUJ6VndsdktLYjVGR2JQQWpSUUNUWDBJbU5OQWEiLCJtYWMiOiI3MjM3ODNiMzc0NDJlNDVhYzFkOTBmMjhhOTk0MTUyM2FlNzM5ZGE4ODE3MTJlMDM5NWZiMzViZjM5OTA0MGRhIn0=';
$dump = [
'hash1' => $hash1,
'hash2' => $hash2,
'string1' => Crypt::decrypt($hash1),
'string2' => Crypt::decrypt($hash2)
];
return $dump;
崩溃的对象
hash1: "eyJpdiI6InJFNTFkdktpVU9cL1wvRTJPVk94SURiUT09IiwidmFsdWUiOiJIZVh4Y1NyUGpVcTVFVTNSbWdUNnJCUWRHSGZTcnFTQWJKa1h0Q1wvMEVtZnFuM3dDeFwvXC9hdUs4enFXXC94dEJ0cSIsIm1hYyI6IjFjNjZjODFjMjI5NTQ0NmVhZDUwODQzODE0OTQ4NTdjMzAxNTQ5Y2ZjY2M4YzRiODU0ZjIwNDhmMDA0Yjc4OWQifQ"
hash2: "eyJpdiI6ImRBVWNKVTlJZVFmckk2T0c4cXNObFE9PSIsInZhbHVlIjoidElqcE5TMUFwVHZXeW12R3hKMFVFWlR0WmgxOFRBbW5cL2V3dUJ6VndsdktLYjVGR2JQQWpSUUNUWDBJbU5OQWEiLCJtYWMiOiI3MjM3ODNiMzc0NDJlNDVhYzFkOTBmMjhhOTk0MTUyM2FlNzM5ZGE4ODE3MTJlMDM5NWZiMzViZjM5OTA0MGRhIn0="
string1: "admin03@y..sef...iman.com"
string2: "admin03@y..sef...iman.com"
为保护隐私,字符被用点号代替,但实际上它们是完全相同的。我唯一能想到的可能是某种字符集格式?
任何解决此问题的帮助都将不胜感激!
敬礼。
bcrypt()
,据我所知,它是单向加密,但结果仍然相同。 - VitaCoco