c# - MySQL 中带有波兰语字符的 AES_DECRYPT() 和 AES_ENCRYPT()

标签 c# mysql encryption aes

我有一个 MySQL 数据库,配置为接收带有波兰语字符的数据(f. ex ą、ę、ó、ł、ń 等)。

现在我想使用 AES_ENCRYPT() 将包含这些波兰语字符的数据发送到数据库,然后使用 AES_DECRYPT() 从那里获取它们。 我的问题是我在 C# 中收到一个 byte[] 数组,其中有 X 个元素,其中 X 是我收到的文本长度。每个数组元素都有一个它所代表的字符的 ASCII 代码。我可以使用编码类轻松地将其转换为文本,但我不会在输出文本中获得波兰语字符。

F.例如:

我将 AES_ENCRYPT('ąąą', '123') 发送到 db。 我得到 AES_DECRYPT('sql command','123') 并得到 byte[] ,它有 3 个元素,每个元素都有代表 ' 的 '97' 值aaa' - 不是'ąąą'。 如何使用 AES_DECRYPT/ENCRYPT 来允许我向数据库发送/获取波兰语字符?! 或者如何从 aes_decrypt() 而不是 byte[] 获取字符串输出?

最佳答案

使用编码进行转换可能会对您有所帮助。

select convert(aes_decrypt(aes_encrypt('ąąą', 'abcdefg'), 'abcdefg') using UTF8);

关于c# - MySQL 中带有波兰语字符的 AES_DECRYPT() 和 AES_ENCRYPT(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14414800/

相关文章:

php - 如何通过 PHP 表单使选择不区分重音?

java - 对 Android 加密的工作原理感到困惑

c# - Microsoft Outlook 自动化 : Capturing a Save event

mysql - 这个MySQL索引会提高性能吗?

mysql - 什么 SQL JOIN 用于跨表获取唯一值?

java - 如何进行加密和解密?

c - 如何在C中将字符组合在一起作为字符串

c# - 如何格式化 DateTimeOffset 使其时区偏移量中不包含冒号?

c# - 如何使样式基于继承的样式

c# - 如何处理 SqlCommand 结果(行)?