2025年openssl aes加密结果是乱码_RSA加密加签入门

openssl aes加密结果是乱码_RSA加密加签入门RSA 公钥加密算法是 1977 年由 Ron Rivest Adi Shamirh 和 LenAdleman 在 美国麻省理工学院 开发的 RSA 取名来自开发他们三者的名字 RSA 是目前最有影响力的公钥加密算法 它能够抵抗到目前为止已知的所有密码攻击 已被 ISO 推荐为公钥数据加密标准 RSA 算法基于一个十分简单的数论事实 将两个大素数相乘十分容易

大家好,我是讯享网,很高兴认识大家。

RSA公钥加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

f90696224d61470c4ad588876d113e82.png
讯享网

RSA加密解密

加密解密是公钥加密私钥解密,持有公钥(多人持有)可以对数据加密,但是只有持有私钥(一人持有)才可以解密并查看数据;

RSA加签验签

加签验签是私钥加签公钥验签,持有私钥(一人持有)可以加签,持有公钥(多人持有)可以验签。

流程

b7d984e97e83a3314e4321e6cc90310e.png

作用

加密:数据传输的安全性

加签:数据的防篡改、防否认机制

e08879e961c0b43b4dd735c5846904fc.png

对称加密算法

  (1)甲方选择某一种加密规则,对信息进行加密;

  (2)乙方使用同一种规则,对信息进行解密

加密模式有一个最大弱点:甲方必须把加密规则告诉乙方,否则无法解密。

例子说明

email登录密码,比如微信、支付宝登录密码等等,这些都是对称密码的应用。DES、AES都属于对称加密。只要是同一把钥匙在开一个锁,都是对称密码。

非对称加密算法

  (1)乙方生成两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的。

  (2)甲方获取乙方的公钥,然后用它对信息加密。

  (3)乙方得到加密后的信息,用私钥解密。

例子说明

ce93faa9b838f0347ba7c012184fdfe3.png

c3a8fac0af6572e8383e9dd116627910.png

加签

  (1)A生成一对密钥(公钥和私钥),私钥不公开,A自己保留。公钥为公开的,任何人可以获取。

  (2)A用自己的私钥对消息加签,形成签名,并将加签的消息和消息本身一起传递给B。

  (3)B收到消息后,在获取A的公钥进行验签,如果验签出来的内容与消息本身一致,证明消息是A回复的

生成公钥私钥方法

  1. 支付宝提供的一键生成工具
  2. OpenSSL工具命令生成

1.使用支付宝的工具

工具名:支付宝开发平台开发助手。下载地址:

https://ideservice.alipay.com/ide/getPluginUrl.htm?clientType=assistant&platform=win&channelType=WEB

下载后安装包长这样:

5a69e2ba4bd0254e2055b49016a3092e.png

安装后,直接就能生成了

9fdc94009dc1fdfac8996df07e91f452.png

2.OpenSSL工具

下载openssl  

https://slproweb.com/products/Win32OpenSSL.html

82a2c24eb80e33d638f4fe84f8143f5f.png

配置环境变量

8f626975ed61235142c830b70e20cf8f.png

验证

2d4314193cae63a674e2674cd967f402.png

生成私钥

-- 生成 RSA 私钥(传统格式的)

openssl genrsa -out rsa_private_key.pem 1024

-- 将传统格式的私钥转换成 PKCS#8 格式的(JAVA需要使用的私钥需要经过PKCS#8编码,PHP程序不需要,可以直接略过)

openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

51cbf910b92b75cd414edadf70749939.png

生成公钥

-- 生成 RSA 公钥(php和java都用转换前私钥生成公钥)

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

ddfa465cbd716a0b2a4a03de2af6493d.png

PS:我只是一名知识的搬运工,本文全部参考资料来自于百度。

小讯
上一篇 2025-02-25 08:48
下一篇 2025-01-09 11:04

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/56721.html