mysql - Mysql数据库中非varchar列的加密和解密

标签 mysql encryption

我四处搜索并做了一些测试,但我似乎找不到一种方法来加密和解密非 varchar 数据类型的列。

CREATE TABLE TEMP_ENCRYPT (
 TEST_STRING VARCHAR(255),
 TEST_INT INT 
 )

INSERT INTO TEMP_ENCRYPT (TEST_STRING, TEST_INT) VALUES
(DES_ENCRYPT('valor string', '1234'), DES_ENCRYPT('56', '1234'))


select
 TEST_STRING as a,
 DES_DECRYPT(TEST_STRING, '1234') as aa,
 TEST_INT as b,
 DES_DECRYPT(TEST_INT, '1234') as bb
from TEMP_ENCRYPT

此选择返回

一个|啊|乙| BB

ÿ£ßû↵gê Tïëß |勇气字符串| 0 | 0

这似乎是一个基本的事情,我做错了什么?

最佳答案

DES_ENCRYPT('56', '1234') 将生成 /+nNpdXyewki,它无法存储在用于整数的列中,因此它' ll (取决于您的设置)要么存储为 0 要么抛出警告。如果您想存储加密数据,则需要将其存储在支持字符串的列中。

关于mysql - Mysql数据库中非varchar列的加密和解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59737166/

相关文章:

c# - 使用非默认 AlgorithmIdentifier 解密 EnvelopedCms

php - 使用 userids 生成加密 key

php - 加密密码并存储在android上的数据库中

php - 谷歌地图 v3.0 未加载

mysql - 使用 BCrypt 进行身份验证在使用 mysql 数据库时不保存 hashed_pa​​ssword

mysql - LOAD DATA INFILE 不导入到mysql数据库

java - Spring JPA 多对多持久性问题

android - 在android中使用AESCrypt加密和解密

sockets - 使用 SSL/TLS 比自己处理加密有什么优势

php - Mysql限制