4

我的问题很简单 - MySQL 中是否有用于非对称(公钥/私钥)加密的内置功能,如 AES_ENCRYPT / AES_DECRYPT?

可悲的是,我只找到涉及 PHP(在 php 中加密它)的答案,以及类似的东西。我想把它保存在 MySQL 中,因为整个应用程序逻辑都是由程序处理的——我想通过引入外部语言来解决这个问题来避免破坏它。

4

3 回答 3

3

MySQL 中没有 RSA 加密功能。这是一个奇怪的用例,所以 MySQL 的人可能认为不适合实现它

您必须在应用程序层执行 RSA 操作,并将结果传递到您的程序中,除非您想自己在 MySQL 中实现 RSA(我真的一点建议都没有)

于 2013-01-04T22:09:16.203 回答
2

你可以做的是这样的;使用他们的 pub/priv 密钥在多个用户之间创建一个共享密钥,然后使用该共享密钥作为 AES 对称密钥来解锁 mysql 中的数据。

这意味着您可以方便地利用 mysql 的内置 AES 加密功能,同时仍然保持安全数据,因为您永远不会知道共享的秘密。

例如: 爱丽丝/鲍勃共享秘密/彩色油漆

您也可以尝试在此处阅读此输入链接描述

于 2013-09-03T21:11:46.127 回答
0

我非常同意@Peter Elliott。但作为答案的一部分,我想补充一点,MySQL Enterprise Encryption 提供了这种设施,例如:

MySQL Enterprise Encryption 为 DBA 和开发人员提供了他们所需的工具:

  • 非对称公钥加密 (RSA) 非对称私钥
  • 解密 (RSA) 生成公钥/私钥 (RSA, DSA, DH) 导出
  • 来自公钥和私钥对 (DH) 的对称密钥数字签名
  • 数据(RSA、DSA)验证数据签名(RSA、DSA)验证数据
  • 真实性(RSA、DSA)

有关更多信息,您可以访问MySQL Enterprise Encryption,希望对您有所帮助。

于 2016-02-02T06:27:53.723 回答