当前位置:首页 > PHP教程 > php高级应用 > 列表

PHP7.1实现的AES与RSA加密操作示例

发布:smiling 来源: PHP粉丝网  添加日期:2021-10-01 16:40:53 浏览: 评论:0 

这篇文章主要介绍了PHP7.1实现的AES与RSA加密操作,结合实例形式分析了php7.1环境下AES与RSA加密、解密操作相关实现与使用技巧,需要的朋友可以参考下。

本文实例讲述了PHP7.1实现的AES与RSA加密操作,分享给大家供大家参考,具体如下:

AES:

  1. <?php 
  2. header('Content-Type: text/plain;charset=utf-8'); 
  3. $data = 'phpbest'
  4. $key = 'oScGU3fj8m/tDCyvsbEhwI91M1FcwvQqWuFpPoDHlFk='//echo base64_encode(openssl_random_pseudo_bytes(32)); 
  5. $iv = 'w2wJCnctEG09danPPI7SxQ=='//echo base64_encode(openssl_random_pseudo_bytes(16)); 
  6. echo '内容: '.$data."\n"
  7. $encrypted = openssl_encrypt($data'aes-256-cbc'base64_decode($key), OPENSSL_RAW_DATA, base64_decode($iv)); 
  8. echo '加密: '.base64_encode($encrypted)."\n"
  9. $encrypted = base64_decode('To3QFfvGJNm84KbKG1PLzA=='); 
  10. $decrypted = openssl_decrypt($encrypted'aes-256-cbc'base64_decode($key), OPENSSL_RAW_DATA, base64_decode($iv)); 
  11. echo '解密: '.$decrypted."\n"
  12. ?> 

用openssl生成rsa密钥对(私钥/公钥):

openssl genrsa -out rsa_private_key.pem 2048

openssl rsa -pubout -in rsa_private_key.pem -out rsa_public_key.pem

RSA:

  1. <?php 
  2. header('Content-Type: text/plain;charset=utf-8'); 
  3. $data = 'phpbest'
  4. echo '原始内容: '.$data."\n"
  5. openssl_public_encrypt($data$encryptedfile_get_contents(dirname(__FILE__).'/rsa_public_key.pem')); 
  6. echo '公钥加密: '.base64_encode($encrypted)."\n"
  7. $encrypted = base64_decode('nMD7Yrx37U5AZRpXukingESUNYiSUHWThekrmRA0oD0='); 
  8. openssl_private_decrypt($encrypted$decryptedfile_get_contents(dirname(__FILE__).'/rsa_private_key.pem')); 
  9. echo '私钥解密: '.$decrypted."\n"
  10. ?>

Tags: PHP7 1 AES RSA

分享到: