论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Photoshop教程
Tag:photoshop cs,照片,非主流,水晶,效果,画笔,圣诞,滤镜,艺术,手绘,蒙版,抠图,风景,特效,人像,矢量,国画,图像,数码,合成,玻璃,美女,图案,鼠绘,调色,婚纱,插画,图层,山水,漫画,透明,水粉,光线,笔刷,工具,实例,入门,人物,头发,签名,视频,壁纸,水墨,相框,海报,立体,动画,文字,换头,视频教程

巧用SQL Server口令加密

文章类别:Photoshop | 发表日期:2011-5-13 8:56:37

不知道你有没有发现SQL Server用的master.dbo.sysxlogins里面存放着用户的口令,但password字段如果不是null就是一堆看不懂的binary,这个口令是怎么加密的呢?其实只要仔细看看master.dbo.sp_addlogin就知道了,SQL Server的sp都可以看到代码,真是不错。

  让我们来看看它是怎么做的,注意这一行select @passwd = pwdencrypt(@passwd),这个时后@passwd就被加密了,让我们也来试一下:

  DECLARE@ClearPWDvarchar(255)
  DECLARE@EncryptedPWDvarbinary(255)
  SELECT@ClearPWD=’test’
  SELECT@EncryptedPWD=CONVERT(varbinary(255),pwdencrypt(@ClearPWD))
  SELECT@EncryptedPWD

  看上去不错,确实被加密了,可是我怎么还原呢?这就没戏了,口令加密都是单向的,用加密后的密文来比较就可以了。

  继续看看其它用户相关的sp,可以发现master.dbo.sp_password里面有口令比较的内容。

  pwdcompare(@old, password, (CASE WHEN xstatus&2048 = 2048 THEN 1 ELSE 0 END))

  不用去理会xstatus,这是一个状态掩码,一般我们用的时候就直接用0就可以了

  DECLARE@ClearPWDvarchar(255)
  DECLARE@EncryptedPWDvarbinary(255)
  SELECT@ClearPWD=’test’
  SELECT@EncryptedPWD=CONVERT(varbinary(255),pwdencrypt(@ClearPWD))
  SELECTpwdcompare(@ClearPWD,@EncryptedPWD,0)
  SELECTpwdcompare(’ErrorPassword’,@EncryptedPWD,0)

  这样我们就可以使用这两个函数来加密自己的密码了

视频教程列表
文章教程搜索
 
Photoshop推荐教程
Photoshop热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058