我在 MS SQL 2008 R2 中有数据,我想对其进行加密,然后传输到 MySQL 5.5 数据库。加密的原因是我不完全信任传输层,而且这些数据相当敏感,所以最好以加密格式存储。数据在 MS SQL Server 2008 中创建和更新,但只需要用于 MySQL 中的“选择”。
我遇到的挑战是 MS SQL Server 2008 R2 中的 AES 算法显然与 MySQL 5 不同。它向内容添加“填充”,根据原始数据是否编码为UTF-8 或 UNICODE,显然有一些 16 位随机向量被添加到哈希中。
您能否建议在 MS SQL Server 2008 R2 和 MySQL 5.5 中可能相同的其他加密/解密算法?
最佳答案
对于数据传输,请使用专门设计 用于数据传输的协议(protocol)。都不是ENCRYPTBYKEY
也不AES_ENCRYPT
是合适的协议(protocol),它们只是加密函数。
为数据传输设计的协议(protocol)的一个很好的例子是 Transport Layer security .它处理了很多你不知道它们需要被覆盖的小“细节”。用它。不要试图重新发明轮子并在世界上发布又一个失败的加密方案。
要严格回答这个问题:不,没有办法解密使用 SQL Server 加密函数加密的 MySQL 数据。 SQL Server 函数输出包含 key ID 和以专有且未记录的格式使用的 IV。
关于mysql - 使用AES加密/解密在MySQL 5.5中解密MS SQL Server 2008 R2数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21705070/