php加密笔记[通俗易懂]

php加密笔记

大家好,又见面了,我是全栈君。

1.加密解决那些问题

防止通信内容被窃听

防止通讯内容被篡改

2. des(data encryption standard:数据加密标准)

des是一种将64bit的明文加密成64bit的密文的对称算法.

现在des已经可以被暴力破解.

php加密笔记[通俗易懂]

3.aes :目前没有被破解,推荐使用的

php加密笔记[通俗易懂]

4.aes 加密步骤

php加密笔记[通俗易懂]

5.des 加密操作

//openssl_encrypt($data, $method, $key, $options = 0, $iv = "", &$tag = NULL, $aad = "", $tag_length = 16)
//加密
$data = "wo shi a student";
$method = 'DES-CBC';
$key = uniqid();
$options = OPENSSL_RAW_DATA;
$iv = '12345678';
$content = openssl_encrypt($data, $method, $key, $options, $iv);
var_dump($content);

//解密
$content = openssl_decrypt($content, $method, $key, $options, $iv);
dd($content);

php加密笔记[通俗易懂]

6.aes 加密操作

//加密
$data = "wo shi a student";
//$method = 'DES-CBC';  //des加密方法
$method = 'AES-128-CBC'; //aes加密方法
$key = uniqid();
$options = OPENSSL_RAW_DATA;
$iv = '1234567812345678'; 
$content = openssl_encrypt($data, $method, $key, $options, $iv);
var_dump($content);

//解密
$content = openssl_decrypt($content, $method, $key, $options, $iv);
dd($content);

php加密笔记[通俗易懂]

//改变key的写法,获得动态的iv向量
//加密
$data = "wo shi a student";
//$method = 'DES-CBC';  //des加密方法
$method = 'AES-128-CBC'; //aes加密方法
$id = uniqid();
$key = md5($id);
$options = OPENSSL_RAW_DATA;
$iv = substr($key, 0, 16);
//var_dump($id);
//var_dump($key);
$content = openssl_encrypt($data, $method, $key, $options, $iv);
var_dump($content);

//解密
$content = openssl_decrypt($content, $method, $key, $options, $iv);
dd($content);

7. rsa 加密

php加密笔记[通俗易懂]php加密笔记[通俗易懂]

8.rsa 非对称加密操作

//公钥私钥内容,自己生成  在http://web.chacuo.net/netrsakeypair
$public = '-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuXLbkP3vKy0qSA+n4Bhs
UxP8lw4sAYF15ZhkInRnA50BzdUn8oukl+3/bejKhoHVW32/8r7eTMhs8conEFUU
RxmjG/LkKeRf6qNfYnjTnCL7Ow8ZEamA7ka/eN3Sboiy+jUAYmAB1hEBBrGkinHe
f48dpeCh3qPJENQN3ANcmoLgOlVQkh5aigX4I9UCRnu/3Uu8cNLjrEWFkcFEeLGz
0WcCl+FZDFktQ7FhKNLxsj3RqiZKB6O92Q3BuBFSRB41nzkbAC+5gjpPyH+xbmeh
bnDHn3bhrUbnXg5mqowu1jDLHfLFpCp9qQwvkQZozfnZJNFVdl6mdemM0q1Z13S3
TQIDAQAB
-----END PUBLIC KEY-----';
$private = '-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC5ctuQ/e8rLSpI
D6fgGGxTE/yXDiwBgXXlmGQidGcDnQHN1Sfyi6SX7f9t6MqGgdVbfb/yvt5MyGzx
yicQVRRHGaMb8uQp5F/qo19ieNOcIvs7DxkRqYDuRr943dJuiLL6NQBiYAHWEQEG
saSKcd5/jx2l4KHeo8kQ1A3cA1yaguA6VVCSHlqKBfgj1QJGe7/dS7xw0uOsRYWR
wUR4sbPRZwKX4VkMWS1DsWEo0vGyPdGqJkoHo73ZDcG4EVJEHjWfORsAL7mCOk/I
f7FuZ6FucMefduGtRudeDmaqjC7WMMsd8sWkKn2pDC+RBmjN+dkk0VV2XqZ16YzS
rVnXdLdNAgMBAAECggEBAIQLTFuI8+sCVcDJpPbjbP4alRfZd2v7Cj9YqrP9vfvM
p6QvyinhVGj5hY502v+7InfqqenmDdMOQsRG9FmkurOFhaY45E0P11vyx9ANyF68
abY7odX5o1wF8//TsioSG54cbxGc2rHZmalyg34wZgTdmnap45frdxcMZnHp0t4Q
a1XsRBBPQthUbfmTSvbdhXbGQ3ib1Xj8gPdWVnjwXaFf52jfJ5qaf4TA0uKth9th
pxDMERM5ymZ4s5mamtotSKN4P8AgiRiABBeEsbPbT2Eg0P1j9X2H2IHG1UtyU1sS
aVNm1ZroF+PkOlCi94qujaXN24XWnrfO2F+C2eTz9uECgYEA5wyRyjWiXR9WTE3T
QwNQZpWpOhGQKBy70CJDWBZNPFjW1or+C/fWhiG6y+i+d9ywi7s5KqDtnJMOciQL
pft3fNjmRGx29RBE4DxWuH4QgGv9ALC4Dxd8mZ8t8cjE249ytDKZeCurBlw403f+
ONDc1P50YR2hZ7FsHwbMAwpCl9cCgYEAzXmmEKDBlE6DkqeyorkjYZhTJaR56SJV
S6TR5MBzhzefQ+vZEpFF5mE0SrV6i8eLELozBr1rOc41ltcMoHOd+PqiK6FekgMM
Do6dDNEyM4GNLT7yJ/CFleOSKkJsLRBglV+QYHb5db39okrQ7mOD2DGfho/Z4RMm
qS+qE3pj9XsCgYEAxQHRufKbm/2hbvSZI7XKs33/SrU5DwrZFfJxK8XwW3mAznS7
g+byc3KFPWMaLUfu/WZJq1CG6o/1rFuR1xihXMHxLfyyPel+YRjx9OQBHA94LkOA
3dVv9+ljmptPR8t7yayvcWkCriyqg534Fef5tF+3SiuiubDt+VKpWBpCiAcCgYBL
Ft+3R+g2WJMAr0Q670mcytvn77mVlzRwlmUWIbaWfZ84ZSJJBMn0rSU9ACEun9eU
X1dyaRqcX116KFC2+kmKyZ0mMKys02w+jaObIYAlDn0XQd+g9Ob8pdOumeOKfGev
buMGPbRgcPQVsR21YKy3/zp7JGrNNAB257JRt/J7rQKBgQCB3TiQbyY/2YuhzF9W
drTHcz16s8gabv5KGOwyMw5EbqTN7T/6HJKLqRg/hHNaneexZitIFmJIPEwejWyj
+TtvrnxzO7zLDjsS6yEhTJDCKR/ylmx3jCvdI8k7tB2lBKy2CM5jkeTPDNMDG9Dq
crL/RLzgZSKIRpdWXb9KShWsGg==
-----END PRIVATE KEY-----';

//公钥(私钥)加密
$content = 'this is rsa   test ';
$encrypted='';
$res = openssl_public_encrypt($content, $encrypted, $public);

//私钥(公钥)解密
$decrypted='';
$dec = openssl_private_decrypt($encrypted, $decrypted, $private);
//$dec =openssl_public_decrypt( $encrypted,$decrypted,$public); //如果使用公钥加密,再使用公钥解密的话,会返回false,失败,这就是rsa非对称加密算法

var_dump($dec);
var_dump($decrypted);
die;

php加密笔记[通俗易懂]解密后结果:php加密笔记[通俗易懂]

9.中间人攻击

php加密笔记[通俗易懂]

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111630.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • ETAP软件–可靠性计算

    ETAP软件–可靠性计算对单辐射架空线路进行可靠性计算过程。图1单辐射架空线路分段接线图各元件可靠性参数如下:架空线路故障停运率(次/百公里) 55.865架空线路停电平均持续时间(小时) 4.1622断路器故障停运率(次/百台) 1.699断路器停电平均持续时间(小时) 4.8864开关故障停运率(次/百台) 54.677开关停电平均持续时间(小时) 1.9361每个负荷点带2个用户,架空线路长度,…

  • vb api函数用法_VB调用apdl

    vb api函数用法_VB调用apdl1、API函数    API的英文全称(ApplicationProgrammingInterface),WIN32API也就是MicrosoftWindows32位平台的应用程序编程接口,在window操作系统盛行的期间,程序员主要是利用API函数来开发Windows平台下的应用程序当时程序员必须熟记很多API函数。随着软件技术的不断发展,在Windows平台上出现了很所可视化编程

    2022年10月31日
  • java web文件上传——FileUpload

    java web文件上传——FileUpload文件上传分析1.普通表单提交默认enctype="application/x-www-form-urlencoded";但是当表单中存在文件类型时,需要设置enctype="multipart/form-data",它不对字符进行编码,用于发送二进制的文件(即所有文件类型,如视频、图片、音乐、文档都可以用此类型entype);还有一种enctype="text/plain"用于发送纯文本内容。…

  • SqlServer服务器和数据库角色

    SqlServer服务器和数据库角色

    2021年11月25日
  • 如何彻底的卸载anaconda(包括配置文件)

    如何彻底的卸载anaconda(包括配置文件)如果你想测地卸载anaconda,请看SolutionB。[官方参考链接]。1.SolutionA通常卸载软件,直接运行uninstall就可以了,对于anaconda也一样,可以直接运行安装目录下的Uninstall-Anaconda3.exe即可,但是这样卸载并没有完全卸载。如果需要完全卸载请参考SolutionB2.SolutionB通过B方式卸载,请确保还没有通…

  • 无线信道特征_无线信道模型有哪几种

    无线信道特征_无线信道模型有哪几种目录1统计性模型(经验模型)1.1模型分类(1)按衰落分类(2)按路径损耗和延迟拓展分类1.2建模方法(1)方法一分类(2)方法二分类2确定模型2.1建模方法3半确定模型3.1建模方法4思维导图PDF、xmind格式下载5参考文献1统计性模型(经验模型)1.1模型分类(1)按衰落分类小尺度传播衰落模型描述小范围内信号的幅度和相位的快速衰落,在电波传播过程中,信号场强在短短(几个信号波长)或短时(秒级)上呈现出快速波动的状况,包括由移动台和基站相对运动造成多普勒频移引起的时间

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号