业务场景:
系统交付客户后,客户数据库(MS SQL)需要有人作日常维护,但客户不能完成此类操作,需要外包给相应的人员维护,维护人员拥有SA密码,但是客户强调不能允许使用SA的维护人员可以了解客户业务数据库中的详细业务数据。
是否可以在数据库中通过设置实现?
如果不行,可通过程序对访问存储加密,再将加密的数据存入数据库?
给个思路也行...
thanks!
目前也遇到类似问题,估计要对敏感数据进行加密解密,有空交流一下。 wh_afra@163.com
--SQL SERVER 本身也提代加密密码的函数:
--pwdencrypt ,pwdcompare
--加密:
declare @logintable table(username varchar(20),passwd varbinary(256))
insert @logintable(username,passwd) values(yourname,pwdencrypt(123456))
declare @pwd varbinary(256)
select @pwd=passwd from @logintable where username=yourname
--比较:
if pwdcompare(12356,@pwd)=1
print true
else
print false
select * from @logintable
CREATE TABLE Users (
UserID Varchar(10),
UserPW Varchar (20))
INSERT INTO USERS values(TestUser1,ENCRYPT(TestPW1))
INSERT INTO USERS values(TestUser2,ENCRYPT(TestPW2))
INSERT INTO USERS values(TestUser3,ENCRYPT(TestPW3))
INSERT INTO USERS values(TestUser4,ENCRYPT(TestPW4))
SELECT * from Users where UserID = TestUser2
and UserPW = ENCRYPT(TestPW2)
--不区分大小写
INSERT INTO USERS values(TestUser1,ENCRYPT(UPPER(TestPW1)))
只能对数据加密了
对,用ascii函数和char函数配对加一些数学算法!
不要使用sql server的,要不比较可以,还原难,就连你想看都麻烦。
通过程序对数据加密吧,不要用不可逆的,要不然以后就连你想看都麻烦。