我的问题很简单 - MySQL 中是否有用于非对称(公钥/私钥)加密的内置功能,如 AES_ENCRYPT / AES_DECRYPT?
可悲的是,我只找到涉及 PHP(在 php 中加密它)的答案,以及类似的东西。我想把它保存在 MySQL 中,因为整个应用程序逻辑都是由程序处理的——我想通过引入外部语言来解决这个问题来避免破坏它。
我的问题很简单 - MySQL 中是否有用于非对称(公钥/私钥)加密的内置功能,如 AES_ENCRYPT / AES_DECRYPT?
可悲的是,我只找到涉及 PHP(在 php 中加密它)的答案,以及类似的东西。我想把它保存在 MySQL 中,因为整个应用程序逻辑都是由程序处理的——我想通过引入外部语言来解决这个问题来避免破坏它。
MySQL 中没有 RSA 加密功能。这是一个奇怪的用例,所以 MySQL 的人可能认为不适合实现它
您必须在应用程序层执行 RSA 操作,并将结果传递到您的程序中,除非您想自己在 MySQL 中实现 RSA(我真的一点建议都没有)
你可以做的是这样的;使用他们的 pub/priv 密钥在多个用户之间创建一个共享密钥,然后使用该共享密钥作为 AES 对称密钥来解锁 mysql 中的数据。
这意味着您可以方便地利用 mysql 的内置 AES 加密功能,同时仍然保持安全数据,因为您永远不会知道共享的秘密。
例如:
您也可以尝试在此处阅读此输入链接描述
我非常同意@Peter Elliott。但作为答案的一部分,我想补充一点,MySQL Enterprise Encryption 提供了这种设施,例如:
MySQL Enterprise Encryption 为 DBA 和开发人员提供了他们所需的工具:
有关更多信息,您可以访问MySQL Enterprise Encryption,希望对您有所帮助。