SQL Server - 请问数据库字段加密问题

 

原发问问题:

 

老师您好:

 

我有一个表格的某一个字段要加密,如员工档的薪资金额及员工姓名,

这两个字段要加密,让其它人员从 ENTERPRISE MANAGER 之中开起的表格看到的内容是一堆乱码,但我在程序之中下 SELECT EMP_ID,NAME,WAGE FROM EMPLOYEES 时显示是正确的数据,我应该如何做呢?有什么特殊的技巧或设定就可以完成吗?

 

Best Regards

 

解答:

 

亲爱的读者您好,很感谢您对于章立民研究室的支持,有关于您提到的问题,回复如下:

 

Microsoft SQL Server 2000 本身没有内建的功能可以满足您的需要。或许您可以考虑自行撰写加解密机制,当数据写入数据库时,同时将其加密,如此一来,不论是从 ENTERPRISE MANAGER 或是使用程序方式,所查询到的数据皆是加密过的。当您欲将被加密过的数据还原成原始的数据,只需进行解密机制即可。

 

由上述的讨论,我们可以知道,这样的加解密机制所使用之算法必须是可逆的。接下来,我们讨论什么是可逆的、什么是不可逆的加解密机制。前几年,媒体大肆报导山东大学王教授所破解的 MD5 来说,它就是一个不可逆的(One-Way)加解密机制,也就是说加密之后的密文,无法再据以还原成原本未加密的明文。

 

至于常见的可逆算法,有 ROT13 ,正因为其算法简单又是可逆,因此您可以在网络上找到为数不少的参考数据。如下所示即是一个可以在 SQL Server 2000 中,免费用于加解密的预存程序:

 

http://www.sqlservercentral.com/columnists/mcoles/freeencryption.asp

 

期望此信息对您有所帮助。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值