SQL通过字段类型转换,达类似加密效果

CREATE TABLE users
(
 uID INT,
 uName VARCHAR(20) NOT NULL,
 uPassword VARBINARY(100)
)
INSERT INTO users VALUES(001,'admin',CONVERT(VARBINARY,'admin'))
SELECT uName,CONVERT(CHAR,uPassword) FROM users  --显示明文

--对数字型的,如金额

CREATE TABLE bank
(
 bUID INT,  --用户
 bFund VARBINARY(100) --存款 
)
INSERT INTO bank VALUES(001,CONVERT(VARBINARY,234.34))
SELECT bUID,CONVERT(DEC(14,3),bFund) FROM bank  --显示明文 

若不用 CONVERT 将数据转换,得到的结果即为保护状态

可用于一般数据保护,但不算是加密,别人也可通过 CONVERT 将数据转换而得到明文

SQL中,创建视图通常用于组织数据、简化复杂的查询或隐藏部分细节。以下是创建视图的基本步骤,并简要说明如何在MySQL中对敏感信息如身份证字段进行加密: **创建视图(View)步骤:** 1. 使用 `CREATE VIEW` 语句,语法如下: ```sql CREATE VIEW view_name AS SELECT column1, column2, ..., column_n FROM table_name [WHERE condition] [GROUP BY column] [HAVING condition] [ORDER BY column]; ``` 这里,`view_name` 是你要创建的视图名称,`table_name` 是基础表名,你可以选择需要展示的列。 **对身份证字段加密(示例以MySQL为例):** 在MySQL中,数据库本身并不直接提供对单个字段加密功能。通常,数据存储在加密后的形式(如哈希)上,查询时不再显示明文。对于身份证这样的敏感信息,一种常见的做法是在插入时将其转换为哈希值并存储,查询时也只返回哈希结果。这涉及到两个操作:加密和储存。 ```sql -- 创建一个包含哈希函数的字段 ALTER TABLE table_name MODIFY COLUMN id_column_hash CHAR(64) NOT NULL; -- 插入数据时进行哈希处理 INSERT INTO table_name (id_column, id_column_hash) VALUES ('your_id', MD5('your_id')); -- 查询时不直接显示明文ID,只显示哈希值 SELECT id_column_hash FROM table_name; ``` 注意:这种操作仅能保证数据传输过程中的安全性,如果要在应用层面解密,就需要保存一个对应的安全密钥或算法,而这不是标准的SQL操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值