首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用密码来加密文本?

如何用密码来加密文本?
EN

Stack Overflow用户
提问于 2015-08-03 09:33:39
回答 1查看 452关注 0票数 0

现在,我可以使用这个教程中的方法加密文本。(对不起,它只有中文,但我想你可以通过它的代码片段来理解这篇文章)。

它使用没有密码的公钥进行加密。如何使用带有密码的公钥加密文本?

更新1:

我可以在不需要密码的情况下读取公钥,使用以下代码:

代码语言:javascript
复制
certificate = SecCertificateCreateWithData(kCFAllocatorDefault, ( __bridge CFDataRef)publicKeyFileContent);
if (certificate == nil) {
    NSLog(@"Can not read certificate from pub.der");
    return nil;
}

问题是-我如何在iOS中用密码读取公钥?

更新2

服务器与iOS应用程序之间的通信使用https。

除了https之外,后端和应用程序都有它们的公钥和私钥用于安全通信。

他们沟通的步骤:

  1. App从服务器拥有公钥(带有密码)
  2. App生成公钥(带有密码)和私钥(当首次使用app时)
  3. 当应用程序向服务器发送数据(具有3个参数的JSON )时,app将发送由app (JSON参数1) + app生成的公钥密码(JSON参数2) +由服务器公钥加密的消息(JSON参数3)生成的公共证书。
  4. 服务器可以读取接收到的消息(由服务器端私钥解密)
  5. 服务器将在收到JSON后发送响应消息。该消息由app生成的公钥加密。

因此,从服务器到每个应用程序都建立了安全连接。并确保正确的个人应用程序不会收到不适合他们的消息。

EN

回答 1

Stack Overflow用户

发布于 2015-08-04 22:43:41

RSA加密是一种非对称加密算法。用公钥加密时,它只能用关联的私钥解密。没有密码。

在一般情况下,数据加密使用对称密钥加密(如AES ),该密钥与从带有PBKDF2的密码/短语派生的密钥一起使用。

通常,当使用非对称加密时,文本将使用对称算法(如使用随机一次密钥的AES )进行加密。密钥采用非对称算法加密,对称加密文本和非对称加密密钥都被发送到另一端。接收方使用私钥反转进程。

请注意,非对称加密速度很慢,要加密的数据仅限于密钥大小。这就是为什么通常只用于加密密钥或非常有限的数据的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31783951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档