-- ============================================= -- Author: peterlu -- Create date: 2008-6-11 -- Description: 实现对用户密码进行MD5加密 -- ============================================= CREATETRIGGER trg_EncryptPwd ON Users AFTER INSERT,UPDATE AS BEGIN IF(UPDATE(Password)) BEGIN DECLARE@uidint DECLARE@pwdvarchar(32) -- 获取用户ID和密码 SELECT@uid=UserID,@pwd=Password FROM inserted -- 更新密码 UPDATE Users SET Password = dbo.MD5(@pwd,16) WHERE UserID =@uid END END GO
<br />最近,在工作中遇到一个系统整合需求,要求将两个系统的用户进行整合,最终实现用户同步登录效果。<br />通过分析发现其中一个系统用户密码采用了MD5加密,而另一个系统用户密码为明码存放,为了达到同步登录的要求首先就需要将用户资料进行同步,将用户名和密码保持一致。<br />为了实现密码的一致性,基于安全性的考虑决定将用户密码统一进行MD5加密,经过在互联网上搜索发现了一个函数hashbytes() ,此函数是微软在SQL SERVER 2005中提供的,可以用来计算一个字符串的 MD5 和 SH