首页 > 作文

解析php php

更新时间:2023-04-06 10:02:38 阅读: 评论:0

一.openssl简介
数据加密是信息信息传输中的一个重要组成部分.任何信息都以明文方式传输,确实是个很不安全的做法.所以,
需要对数据进行加密.将明文数据转换为密文数据,再进行传输.

openssl是一套用于ssl/tls协议的加密工具,其作用有:
1.生成私有密钥.
2.生成证书,即数字签名证书,它包含一个公有密钥,可以用来单向的加密和解密数据.即,使用公钥加密的数据,只能使用
私有密钥解密.使用私钥加密的数据,可以使用公钥来解密.
3.计算信息摘要.
4.ssl/tls客户端和服务器端测试.
5.处理s/mime标记和邮件的加密.

二.加密技术简介.
加密,即将明文数据转换为密文数据的过程.以起到对明文保密的作用.
加密算法: 数据加密过程所采用的一种运算算法.用于将明文转换为密文.
密钥: 加密算法通过与密钥进行某种运算,将明文数据进行加密,生成加密数据.解密时,加密算法通过密钥,
将加密数据再转换为明文数据.
现今的加密技术,加密算法是公开的,即所有人都知道加密所采用的运算方式.但只有使用密钥才能进行
对密文的解密.所以,密钥的保护,是数据安全的核心.

三.openssl工具使用简介
1.私有密钥生成方法

生成私有密钥,可以使用不同的数字签名算法.下面分别介绍;

#采用dsa算法
$ openssl dsaparam -noout -out dsakey0.pem -genkey 1024
#采用rsa算法
$ openssl genrsa -out rsakey0.pem 1024
#采用rsa算法,并使用密码保护.在生成私钥时,需要输入一个密码,用祝母亲节快乐的句子于保护私钥.
#在使用这个私钥进行加/解密操作时,也需要输入这个密码.
$ openssl genrsa -des3 -out rsakey1.pem 10242.公用密钥的生成方法
根据私钥来生成公钥
#生成dsa算法的公钥
$ openssl dsa -in dsakey0.pem -pubout -out dsakey0-pub.pem
#生成rsa算法的公钥
$ openssl rsa -in rsakey0.pem -pubout -out rsakey0-pub.pem3.自签名证书的生成方法
#产生dsa算法的证书
$ openssl req -x509 -key dsakey0.pem -days 365 -out mycert-dsa.pem -new
#产生rsa算法的证书
$ openssl req orbit-x509 -key rsakey0.pem -days 365 -out mycert-rsa.pem -new

4.使用证书进行邮件加密
我们的明文信件内容:

$ cat test.txt
111111
222222
333333
444444
aaaaaa
使用证书对明文信件进行加密,输出到etest.txt文件:
$ openssl smime -encrypt -in test.txt -out et漂亮的图片est.txt mycert-rsa.pem查看加密后的密文内容:

$ cat etest.txt
mime-version: 1.0
content-disposition: attachment; filename=”smime.p7m”
content-type: application/x-pkcs7-mime; smime-type=enveloped-data; name=”smime.p7m”
content-transfer-encoding: ba64

miibyayjkozihvcnaqcdoiibutccau0caqaxgewwgekcaqawujbfmqswcqydvqqg
ewjbvtetmbega1uecbmku29tzs1tdgf0ztehmb8ga1uechmysw50zxjuzxqgv2lk
z2l0cybqdhkgthrkagkar71mh4nrx/uwdqyjkozihvcnaqebbqaegycbra1wbwqk
zj7tcntrxidzqmbc/lu063slkvbk6mqmqt+npfooftzikdfvkldh0yyqhmzdscyq
yutgwoadw6jn0ahrt64uwpokoael9rvqp9vgtifc/uxis5ueyzcws1z7jsih8aa+
da/dqn0socx85odk/tdewnx8mtaybbvf4jbzbgkqhkig9w0bbwewggyikozihvcn
awiwdgicakaecnxsgij2s+1ugdc6jknpl+rdybcddcyph+bmyjqrup0he/gq5wsj
sv8cdkoudvy5xg440yial3z3ysi=使用私钥进行解密,输出到dtest.txt文件:

$ openssl smime -decrypt -in etest.txt -inkey rsakey0.pem -o三字词牌名ut dtest.txt查看解密后的信件内容,与原明文信件内容完全一致.

$ cat dtest.txt
111111
222222
333333
44444行政学4
aaaaaa

5.简单的文件加密
明文文件内容:

$ cat test.txt
1
22
333
4444
55555
hello加密明文文件,输出为test.enc文件,输入”123123”作为加密密码:

$ openssl enc -aes-256-cbc -salt -in test.txt -out test.enc
enter aes-256-cbc encryption password:
verifying – enter aes-256-cbc encryption password:对密文进行解密,输入”123123”作为解密密码:

$ openssl enc -d -aes-256-cbc -in test.enc
enter aes-256-cbc decryption password:
1
22
333
4444
55555
hello

6.简单的字符串加密
采用ba64方式进行加密:

$ echo “encode me” | openssl enc -ba64
zw5jb2rlig1lcg==解密时,需要知道加密算法,才可解密:

$ echo “zw5jb2rlig1lcg==” | openssl enc -ba64 -d
encode me

7.ssl客户端和服务器的测试
使用私钥和证书启动ssl服务器,”-www”的作用是,当客户端连接服务器时,发送一个状态信息网页到客户端.

openssl s_rver -key mykey.pem -cert mycert.pem -www连接ssl服务器到,客户端会获得服务器的证书:

openssl s_client -connect localhost:4433

本文发布于:2023-04-06 10:02:36,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/c88fadd9e54fb3656af63a2cda159324.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:解析php php.doc

本文 PDF 下载地址:解析php php.pdf

标签:密钥   明文   数据   算法
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图