专栏首页thinkphp+vuePHP7.1实现的AES与RSA加密操作示例
原创

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

本文实例讲述了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";
?>

PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:

在线RSA加密/解密工具: http://tools.jb51.net/password/rsa_encode

文字在线加密解密工具(包含AES、DES、RC4等): http://tools.jb51.net/password/txt_encode

在线散列/哈希算法加密工具: http://tools.jb51.net/password/hash_encrypt

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具: http://tools.jb51.net/password/hash_md5_sha

在线sha1/sha224/sha256/sha384/sha512加密工具: http://tools.jb51.net/password/sha_encode

完整实例:http://github.crmeb.net/u/defu

来自 “开源世界 ” ,链接:https://ym.baisou.ltd/post/677.html,如需转载,请注明出处,否则将追究法律责任。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】

    本文实例讲述了PHP7实现和CryptoJS的AES加密方式互通。分享给大家供大家参考,具体如下:

    砸漏
  • PHP实现的AES 128位加密算法示例

    本文实例讲述了PHP实现的AES 128位加密算法。分享给大家供大家参考,具体如下:

    砸漏
  • SSL/TLS CipherSuite 介绍

    本文是关于SSL/TLS的 CipherSuite 的信息摘录,翻译。如有疑问,欢迎指出。

    byronhe
  • PHP扩展mcrypt实现的AES加密功能示例

    本文实例讲述了PHP扩展mcrypt实现的AES加密功能。分享给大家供大家参考,具体如下:

    砸漏
  • 微信退款结果回调解密,低版本以及7.1以上版本的使用方法

    微信的退款结果回调,数据是加密的。我们需要解密之后才能得到订单信息和结果信息,进行处理。

    宣言言言
  • 我的Android进阶之旅------&gt;Android采用AES+RSA的加密机制对http请求进行加密

    作者:欧阳鹏 来源:http://blog.csdn.net/ouyang_peng/article/details/50983574(点击文末阅读原文前往) ...

    java达人
  • Android常用的数据加密方式代码详解

    Android 很多场合需要使用到数据加密,比如:本地登录密码加密,网络传输数据加密,等。在android 中一般的加密方式有如下:

    砸漏
  • Python crypto模块实现RSA和AES加密解密

    RSA加密算法是一种非对称加密算法。RSA 是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leo...

    Python碎片公众号
  • RSA实现JS前端加密与PHP后端解密功能示例

    本文实例讲述了RSA实现JS前端加密与PHP后端解密功能。分享给大家供大家参考,具体如下:

    砸漏
  • 主流加密方式

    高级加密标准(英语:Advanced Encryption Standard,缩写:AES),对称加密

    酷走天涯
  • 为什么我强烈建议你使用ECC 证书

    本文包含三部分内容:1)简单介绍 ECC 证书是什么;2)介绍如何申请 ECC 证书;3)以 Nginx 为例介绍如何使用 ECC 证书。

    Bug开发工程师
  • PHP实现的AES双向加密解密功能示例【128位】

    本文实例讲述了PHP实现的AES双向加密解密功能。分享给大家供大家参考,具体如下:

    用户2323866
  • 矛与盾,如何造好系统的盾

    经常关注“一猿小讲”的粉丝都知道,我们之前分享过应用架构、应用监控、日志归集以及程序员日常内心的那些小揪揪,几乎成了小讲、杂谈的一亩三分地。

    一猿小讲
  • 常见加密算法解析-2

    DES是对称性加密里常见的一种,全程是Data Encryption Standard,即数据加密标准,是一种使用秘钥加密的块算法。秘钥长度是64位(bit),...

    用户5521279
  • 分析与总结常见勒索软件的加密算法

    1、引言 1.1勒索软件 勒索软件(ransomware)是一种运行在计算机上的恶意软件,通过绑架用户文件,使用户数据资产或计算资源无法正常使用,并以此为条...

    FB客服
  • “永恒之蓝”勒索病毒元凶追查最新进展

    “永恒之蓝”勒索病毒事件发生后,各大安全机构纷纷行动,对病毒样本进行收集和分析,通过将病毒源码片段与早前发现的恶意软件源码进行比对,结果显示,这次的病毒代码与之...

    安恒信息
  • Python与常见加密方式

    数据加密与解密通常是为了保证数据在传输过程中的安全性,自古以来就一直存在,古代主要应用在战争领域,战争中会有很多情报信息要传递,这些重要的信息都会经过加密,在发...

    润森
  • DES、AES、RSA等常用加解密算法说明

    加密一般分为可逆加密和不可逆加密,其中可逆加密一般又分为对称加密和非对称加密,以下为常用加密算法:

    IT晴天
  • 请收藏!这可能是目前最安全的数据加密传输解决方案

    而为了保证用户名密码传输安全,可以使用RSA公钥加密后传输,所有客户端使用同一公钥也没问题。

    zls365

扫码关注云+社区

领取腾讯云代金券