怎么在PHP7.1中实现一个AES与RSA加密?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
AES:
<?php header('Content-Type: text/plain;charset=utf-8'); $data = 'phpbest'; $key = 'oScGU3fj8m/tDCyvsbEhwI91M1FcwvQqWuFpPoDHlFk='; //echo base64_encode(openssl_random_pseudo_bytes(32)); $iv = 'w2wJCnctEG09danPPI7SxQ=='; //echo base64_encode(openssl_random_pseudo_bytes(16)); echo '内容: '.$data."\n"; $encrypted = openssl_encrypt($data, 'aes-256-cbc', base64_decode($key), OPENSSL_RAW_DATA, base64_decode($iv)); echo '加密: '.base64_encode($encrypted)."\n"; $encrypted = base64_decode('To3QFfvGJNm84KbKG1PLzA=='); $decrypted = openssl_decrypt($encrypted, 'aes-256-cbc', base64_decode($key), OPENSSL_RAW_DATA, base64_decode($iv)); echo '解密: '.$decrypted."\n"; ?>
用openssl生成rsa密钥对(私钥/公钥):
openssl genrsa -out rsa_private_key.pem 2048 openssl rsa -pubout -in rsa_private_key.pem -out rsa_public_key.pem
RSA:
<?php header('Content-Type: text/plain;charset=utf-8'); $data = 'phpbest'; echo '原始内容: '.$data."\n"; openssl_public_encrypt($data, $encrypted, file_get_contents(dirname(__FILE__).'/rsa_public_key.pem')); echo '公钥加密: '.base64_encode($encrypted)."\n"; $encrypted = base64_decode('nMD7Yrx37U5AZRpXukingESUNYiSUHWThekrmRA0oD0='); openssl_private_decrypt($encrypted, $decrypted, file_get_contents(dirname(__FILE__).'/rsa_private_key.pem')); echo '私钥解密: '.$decrypted."\n"; ?>
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。