文章导航绿软下载站软件下载安卓资源苹果资源专题

您当前所在位置:首页数据库MSSQL → MsSQLServer未公开的加密函数

MsSQLServer未公开的加密函数

时间:2015/6/28来源:IT猫扑网作者:网管联盟我要评论(0)

如果对MSSQL的用户信息有兴趣的,可能会发现master.dbo.sysxlogins里面存放着用户的口令,可是呢,password字段如果不是null就是一堆看不懂的binary,这个口令是怎么加密的呢?
其实只要仔细看看master.dbo.sp_addlogin就知道了,MSSQL的sp都可以看到代码,真是不错。
让我们来看看它是怎么做的,注意这一行select @passwd = pwdencrypt(@passwd),这个时后@passwd就被加密了,让我们也来试一下
DECLARE @ClearPWD varchar(255)
DECLARE @EncryptedPWD varbinary(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 @ClearPWD varchar(255)
DECLARE @EncryptedPWD varbinary(255)
select @ClearPWD = 'test'
select @EncryptedPWD = CONVERT(varbinary(255), pwdencrypt(@ClearPWD))
select pwdcompare(@ClearPWD, @EncryptedPWD, 0)
select pwdcompare('ErrorPassword', @EncryptedPWD, 0)
这样我们就可以使用这两个函数来加密自己的密码了,怎么样,还不错吧?

关键词标签:函数,加密,公开,selec

相关阅读 asp图片采集并且本地重命名保存的函数ASP函数大全与解析ASP取出HTML里面的图片地址的函数Oracle 8 的函数介绍JavaScript基本语法-函数PHP基本语句和函数及相关网站技术基础

文章评论
发表评论

热门文章 在SQL server2005数据库下创建计划任务在SQL server2005数据库下创建计划任务保护SQL服务器的安全 用户识别问题保护SQL服务器的安全 用户识别问题在SQL Server 2000数据仓库中使用分区在SQL Server 2000数据仓库中使用分区远程链接SQL2000管理网站数据库方法远程链接SQL2000管理网站数据库方法

相关软件 《PHP100视频教程》二十九: PHP模板引擎Smarty内置函数 《PHP100视频教程》七: PHP函数和自定义函数 delphi封装的回调函数DLL excel函数使用方法下载|excel函数应用技巧介绍 dependency walker(depends.exe) PHP100视频教程72:PHP+SQLite 常用函数及应用 PHP100视频教程77:Zend framework数据库操作之编辑和视图函数 PHP的语法和函数-黑基VIP中级提高班02

人气排行 如何远程备份(还原)SQL2000数据库SQL2000数据库远程导入(导出)数据配置和注册ODBC数据源SQL2000和SQL2005数据库服务端口查看或修改SQL Server 2005降级到2000的正确操作步骤修改Sql Server唯一约束浅谈JSP JDBC来连接SQL Server 2005的方法SQL Server创建表语句介绍