php数据证书加密算法 php加密解密算法( 二 )


三 openssl工具使用简介私有密钥生成方法生成私有密钥 可以使用不同的数字签名算法 下面分别介绍;
#采用DSA算法 $ openssl dsaparam noout out dsakey pem genkey #采用RSA算法 $ openssl genrsa out rsakey pem #采用RSA算法 并使用密码保护 在生成私钥时 需要输入一个密码 用于保护私钥 #在使用这个私钥进行加/解密操作时 也需要输入这个密码 $ openssl genrsa des out rsakey pem 公用密钥的生成方法 根据私钥来生成公钥 #生成dsa算法的公钥 $ openssl dsa in dsakey pem pubout out dsakey pub pem #生成rsa算法的公钥 $ openssl rsa in rsakey pem pubout out rsakey pub pem 自签名证书的生成方法 #产生DSA算法的证书 $ openssl req x key dsakey pem days out mycert dsa pem new #产生RSA算法的证书 $ openssl req x key rsakey pem days out mycert rsa pem new使用证书进行邮件加密我们的明文信件内容:
$ cat test txt aaaaaa使用证书对明文信件进行加密 输出到etest txt文件:$ openssl *** ime encrypt in test txt out etest txt mycert rsa pem查看加密后的密文内容:
$ cat etest txt MIME Version: Content Disposition: attachment; filename=" *** ime p m" Content Type: application/x pkcs mime; *** ime type=enveloped data; name= *** ime p m Content Transfer Encoding: base
【php数据证书加密算法 php加密解密算法】 MIIBYAYJKoZIhvcNAQcDoIIBUTCCAU CAQAxgewwgekCAQAwUjBFMQswCQYDVQQG EwJBVTETMBEGA UECBMKU tZS TdGF ZTEhMB GA UEChMYSW ZXJuZXQgV lk Z l cyBQdHkgTHRkAgkAr mh NRX/UwDQYJKoZIhvcNAQEBBQAEgYCbrA WBwQK Zj TcNtrxiDzqMBc/Lu SLKvBK mQMqT+npFOOFtzIKdFVkldH YyQhMZDSCyq YUtGwOaDw Jn AHRt UwPOKoaeL RVqp vgtiFC/uXis UeyZCWS z Jsih Aa+ Da/DQN sOCX OdK/TDewNx mTaYBbVf jBZBgkqiG w BBwEwGgYIKoZIhvcN AwIwDgICAKAECNxsgiJ s+ ugDC JknPL+rDYBCddcyPH+bMYjqrUP hE/GQ WSj sv CDkOUdvY XG yiAL Z ysI=使用私钥进行解密 输出到dtest txt文件:
$ openssl *** ime decrypt in etest txt inkey rsakey pem out dtest txt查看解密后的信件内容 与原明文信件内容完全一致
$ cat dtest txt aaaaaa简单的文件加密明文文件内容:
$ cat test txt Hello加密明文文件 输出为test enc文件 输入” ”作为加密密码:
$ openssl enc aes cbc salt in test txt out test enc enter aes cbc encryption password: Verifying enter aes cbc encryption password:对密文进行解密 输入” ”作为解密密码:
$ openssl enc d aes cbc in test enc enter aes cbc decryption password: Hello简单的字符串加密采用base 方式进行加密:
$ echo "encode me" | openssl enc base ZW jb RlIG lCg==解密时 需要知道加密算法 才可解密:
$ echo "ZW jb RlIG lCg==" | openssl enc base d encode meSSL客户端和服务器的测试使用私钥和证书启动SSL服务器 " ”的作用是 当客户端连接服务器时 发送一个状态信息网页到客户端
openssl s_server key mykey pem cert mycert pem 连接SSL服务器到 客户端会获得服务器的证书:
lishixinzhi/Article/program/PHP/201311/20914
总结一下PHP中有哪些加密算法技术1、最普遍用的,md5.
2、其他的如base64等,但这个不严格是加密算法,应该是一种转字符算法,因为可以转回来,而md5是转不回来的 。
3、自己编一个 , 简单思路如下,把待加密的内容,附加各种信息,再用位移等,再用编码转换等做一遍 , 然后丢弃一部分 。这样的话 , 因为有丢弃 , 所以无法转回来,就达到加密了 。
PHP的aes加解密算法1. php的aes算法,加密时会存在空格 , 0,\0等方式进行补长,所以解密后需要进行trim操作,才能得到原数据串
2. aes加密后进行base64_encode,但是解密时 , 直接用aes进行解密 , 不需要先base64_decode.【这个操作很骚气】
function _decryptData($data,$password, $iv){
$decryptData=https://www.04ip.com/post/openssl_decrypt($data,'aes-128-cbc', $password, OPENSSL_ZERO_PADDING, $iv);

推荐阅读