mysql - 使用AES加密/解密在MySQL 5.5中解密MS SQL Server 2008 R2数据

标签 mysql sql-server tsql encryption aes

我在 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/

相关文章:

sql-server - SQL Server查询以获取一个月的第二个星期四

sql - 通过分组和检查非空将多行合并为一行

生产数据库上的 MySql ALTER TABLE - 有什么问题吗?

mysql - 防止注册过程中重复输入

sql - 根据第二列值对列中的不同行求和

SQL Server 事件监视器显示所有查询

sql-server - 遍历所有表,然后遍历所有列数据类型

SQL Server : coalesce, 阻止额外空间?

php - yii 在页面刷新时保存下拉选中状态

php - 如何从 mysql 获取类别到 ul 中?