首页 > 代码库 > PHP using mcrypt and store the encrypted in MySQL
PHP using mcrypt and store the encrypted in MySQL
This is how I would do it. Create a class to do encryption/decryption:
class cipher{ private $securekey; private $iv_size; function __construct($textkey) { $this->iv_size = mcrypt_get_iv_size( MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC ); $this->securekey = hash( ‘sha256‘, $textkey, TRUE ); } function encrypt($input) { $iv = mcrypt_create_iv($this->iv_size); return base64_encode( $iv . mcrypt_encrypt( MCRYPT_RIJNDAEL_128, $this->securekey, $input, MCRYPT_MODE_CBC, $iv ) ); } function decrypt($input) { $input = base64_decode($input); $iv = substr( $input, 0, $this->iv_size ); $cipher = substr( $input, $this->iv_size ); return trim( mcrypt_decrypt( MCRYPT_RIJNDAEL_128, $this->securekey, $cipher, MCRYPT_MODE_CBC, $iv ) ); }}
Then use it like this:
// Usage$cipher = new cipher(‘my-secret-key‘);$orignal_text = ‘my secret message‘;$encrypted_text = $cipher->encrypt($orignal_text); // store this in db$decrypted_text = $cipher->decrypt($encrypted_text); // load $encrypted_text from db// Debugecho "Orignal Text : $orignal_text\r\n";echo "Encrypted Text: $encrypted_text\r\n";echo "Decrypted Text: $decrypted_text";
This respectively outputs the following:
Orignal Text : my secret messageEncrypted Text: Z21ifr5dHEdE9nO8vaDWb9QkjooqCK4UI6D/Ui+fkpmXWwmxloy8hM+7oimtw1wEDecrypted Text: my secret message
来源:http://stackoverflow.com/questions/26756322/php-using-mcrypt-and-store-the-encrypted-in-mysql
PHP using mcrypt and store the encrypted in MySQL
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。