首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >可以使用多个私钥(PHP)进行加密吗?

可以使用多个私钥(PHP)进行加密吗?
EN

Stack Overflow用户
提问于 2011-01-05 22:27:30
回答 4查看 9.5K关注 0票数 19

Or:如何为一群用户存储加密数据?

我承认,这是一个愚蠢的问题,正如术语所暗示的那样,私钥仅限于一个人使用。但我有以下场景:

用户Tom输入需要加密存储在数据库中的数据。用户决定要将此信息提供给Jim和Bob。用户John和Jayne不能解密它。当然也不包括用户Tim,他入侵了服务器,可以访问加密数据和执行加密/解密的脚本。

我认为使用PHPs openssl_public_encrypt函数的公钥/私钥方法在这里是行不通的,因为两个用户需要有那个“私钥”来解密数据。

我猜这是一个相当普遍的问题,但如果它很重要,它必须用PHP (也许还有MySQL )来完成。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-01-05 22:33:55

在OpenPGP (和其他系统)中就是这样做的:-生成秘密对称密钥,用于加密数据本身;-然后,用汤姆的密钥加密这个对称密钥;-还可以用吉姆和鲍勃的公钥加密对称密钥,允许他们解密密钥,然后再解密数据

票数 17
EN

Stack Overflow用户

发布于 2011-01-06 12:36:37

PHP为此提供了一个函数- openssl_seal()。此函数接受一组公钥,并对数据进行加密,以便可以使用任何一个相应的私钥对其进行解密(使用openssl_open())。

票数 12
EN

Stack Overflow用户

发布于 2011-01-05 22:32:55

我不了解PHP中的库。但一般来说,该过程如下所示:

为每个收件人使用对称密钥对文件数据进行加密,使用收件人的公钥对密钥进行加密所有这些都保存在PKCS#7

当搜索"PHP和PKCS7“时应该会有一些结果...

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

https://stackoverflow.com/questions/4605139

复制
相关文章

相似问题

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