我有一个 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/