作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要一个公钥来解密在我的 iOS 项目中使用模数和指数的 RSA 私钥加密数据。所以有人请告诉我如何使用模数和指数创建公钥??
最佳答案
由于长度和令人困惑的问题,我将其作为答案。
也许对“私有(private)”与“ secret ” key 以及非对称与对称 key 加密存在误解。
RSA 等非对称 key 加密通常不用于加密数据,主要有两个原因:1. 数据大小被限制为小于 key 大小,因此 2048 位 key 可以加密小于 256 字节的数据。 2. 速度很慢。
一般用于加密对称 key 和签名数据。加密是用公钥完成的,解密是用私钥完成的。因此许多人可以使用公钥加密数据,只有私钥的所有者才能解密数据。使用私钥进行签名,这样任何拥有公钥的人都可以进行验证。
使用AES等非对称 key 加密来加密数据的原因是: 1. 数据大小不受限制。 2. 速度非常快。
在需要非对称 key 并且需要加密大于非对称 key 的数据的情况下,使用混合加密。这是通过创建随机对称 key 并使用对称加密(例如 AES)加密数据来完成的,对称 key 使用非对称 key 加密(例如 RSA)进行加密。然后组合非对称 key 和加密数据。
关于ios - 如何从 xcode 生成 RSA 公钥 .pem 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44826672/
我是一名优秀的程序员,十分优秀!