$key = md5('secret password');
// this ^ would be supplied by the user every login, never stored
Crypt::setKey($key);
$encrypted = Crypt::encrypt('secret message');
// this ^ would be stored in a database
$decrypted = Crypt::decrypt($encrypted);
return $decrypted;
这比传递密钥的纯文本更安全吗?我想知道这对于存储敏感数据有多安全。
答案 0 :(得分:1)
如果有人知道您正在使用的算法(也就是md5),那么它就像“密码”一样安全。如果编码的消息被泄露,它可能会有所帮助,但更安全的是用盐来破解“秘密密码”。如果你非常认真地保持这个“秘密消息”安全,你可以使用password_hash函数(http://php.net/manual/en/function.password-hash.php)在加密消息之前对密钥进行编码。