mysql对称加密_mysql是否具有非对称加密功能?(Does mysql have asymmetric encryption capabilities?)...

mysql是否具有非对称加密功能?(Does mysql have asymmetric encryption capabilities?)

我的问题很简单 - 在MySQL中是否存在非对称(公钥/私钥)加密等功能,如AES_ENCRYPT / AES_DECRYPT?

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

My Question is simple - is there a build in functionality, like AES_ENCRYPT / AES_DECRYPT, for asymmetric (public / private key) encryption in MySQL?

Sadly, I only find answers that involve PHP (to encrypt it in php), and stuff like that. I would like to keep it in MySQL, since the whole application logic is handled by procedures - and I would like to avoid ruining that by bringing in external languages to solve this issue.

原文:https://stackoverflow.com/questions/12956674

更新时间:2020-02-20 04:56

最满意答案

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

您必须在应用程序层中执行RSA操作,并将结果传递给您的过程,除非您自己想在MySQL中实现RSA(我根本无法建议)

There is no functionality for RSA encryption within MySQL. it's sort of an odd use case, so the MySQL folks probably haven't seen fit to implement it

You'll have to do the RSA operations in the application layer, and pass the results into your procedures, unless you fancy implementing RSA within MySQL yourself (which I really cannot advise at all)

2013-01-04

相关问答

我知道我可以使用... CCM,GCM或EAX进行身份验证加密。 但我注意到他们使用相同的密钥来加密和解密数据。 我不希望这样,我宁愿使用非对称密钥来加密和解密我的数据。 我所知道的所有方案都将使用对称密码进行批量数据加密。 对称密码可以是分组密码或流密码。 我还看到了RSA的一些不正确的应用,其中RSA在ECB模式下运行。 也就是说,数据被“分块”或“阻塞”,然后RSA应用于每个块。 应用密码学手册特别警告这一点。 您可能要做的最好的是椭圆曲线集成加密方案(ECIES)或离散日志集成加密系统(D

...

一些讨论,但这是我谦虚的尝试回答问题: 使用不同的算法(如网站上的算法),我能够使用我的私钥解密信息吗? 或者这是不可能的,因为算法不同? 你肯定无法解密数据。 通常,您需要完全匹配算法和密钥。 然而,可能有什么不同:平台,操作系统,硬件,语言或用于加密/解密的程序。 这是因为算法充当具有明确定义的规范的公共合同,并且只要所有公共API呈现相同的结果,实现可以是不同的。 我的观点是,假设使用的密钥是正确的,如果使用不同的加密算法,最终结果是否总是相同的? 几乎每次这些都会有不同的结果(说得差不多,

...

听起来你过于复杂的事情。 SQL Server内置了对加密和用户角色的支持。 你最好相信构建它的专业人员知道他们在做什么而不是试图实现你自己的方案。 在这里开始阅读有关SQL Server加密的内容: http : //technet.microsoft.com/en-us/library/bb510663.aspx It sounds like you are way overcomplicating things. SQL Server has built in support for enc

...

DotNetNuke本身不使用任何非对称加密。 它使用一些散列函数,如MD5(坏)和SHA-256,以及对称加密,如双键3DES(非常糟糕)和AES。 唯一的事情是您可以配置使用包含各种类型的非对称加密的传输安全性(SSL / TLS)。 在SSL / TLS中,客户端和服务器可以根据其功能协商密码套件。 您需要私钥和证书(包含签名的公钥)才能加密客户端和服务器之间的连接。 DotNetNuke doesn't use any asymmetric cryptography by itself.

...

如前所述,用于此的用例是使用公钥对其进行加密,以便接收方可以使用其私钥进行解密。 使用该aproach和以下代码,Alice可以成功地向Bob发送消息 $key = openssl_pkey_new(array('private_key_bits' => 2048));

$bob_key = openssl_pkey_get_details($key);

$bob_public_key = $bob_key['key'];

这是您在代码中使用的基本基础结构,现在是Bob执行的代码。 Bob生成

...

一般来说,您的想法是正确的 - 您使用公钥加密并使用您的私钥解密。 然而,实际上程序更复杂。 生成随机对称密钥,并使用该密钥加密数据。 然后公钥用于加密随机密钥。 加密密钥与加密数据一起发送给收件人。 另一方面,使用私钥解密加密密钥,然后解密数据。 您可以使用OpenPGP密钥或X.509证书来完成工作。 在OpenPGP的情况下,标准提供加密和解密作为原子过程(在用户级别)。 如果是X.509证书,则需要使用PKCS#7 / CMS。 OpenSSL库提供了PKCS#7 / CMS的操作,但是当

...

要正确加密,你会遗漏一些细节。 AES是一种对称密码, 密钥大小为128,192或256位 。 您不能只使用任何加密方案的RSA私钥。 使用RSA密钥只需搜索网络,例如http://www.java2s.com/Code/Android/Security/RSAencryptdecryptfunctionRSAECBPKCS1Padding.htm 通常如何加密更长的内容(文件): (请注意有多个选项或模式,我在这里写的是一个简单的建议) 加密: 生成随机AES密钥(128位将执行)和随机数(IV

...

MySQL中没有RSA加密功能。 这是一个奇怪的用例,所以MySQL人们可能认为不适合实现它 您必须在应用程序层中执行RSA操作,并将结果传递给您的过程,除非您自己想在MySQL中实现RSA(我根本无法建议) There is no functionality for RSA encryption within MySQL. it's sort of an odd use case, so the MySQL folks probably haven't seen fit to implement

...

如果它对你的银行来说足够好,它(可能)足以满足你的目的。 它仍然是安全的(给定正确的实现和足够大的密钥)。 选择“最佳”算法很难,但RSA无疑是一种值得信赖的安全算法。 If it's good enough for your bank, it's (probably) good enough for your purposes. It's still secure (given a correct implementation and big enough keys). It's hard to

...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值