
时间:2015-06-28 00:00 来源:IT猫扑网|http://www.itmop.com/ 作者:网管联盟 我要评论(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
热门文章
sql server系统表损坏的解决方法
SqlServer2005对现有数据进行分区具体步骤
解决SQL Server中Group无法实现的问题
SQL Server 2005降级到2000的正确操作步骤
手把手教你学会SQL Server镜像操作
实战手记:让百万级数据瞬间导入SQL Server
DLL函数查看器64位中文版 v3.5 绿色版
时间:2022-06-02
desmos函数图形计算器 v6.4.5.0
时间:2021-03-10
api编程助手(api函数查询软件) v2.2 中文绿色版
时间:2019-09-11
DLL Export Viewer(DLL导出函数查看器) v1.68 官方绿色版
时间:2017-12-27
delphi封装的回调函数DLL 免费版
时间:2017-12-26
excel函数公式大全免费版 doc格式完整版
时间:2017-09-27
人气排行 配置和注册ODBC数据源-odbc数据源配置教程 如何远程备份(还原)SQL2000数据库 SQL2000数据库远程导入(导出)数据 SQL2000和SQL2005数据库服务端口查看或修改 修改Sql Server唯一约束教程 SQL Server 2005降级到2000的正确操作步骤 sql server系统表损坏的解决方法 浅谈JSP JDBC来连接SQL Server 2005的方法 SQL Server创建表语句介绍 MS-SQL2005服务器登录名、角色、数据库用户、角色、架构的关系 如何使用SQL Server中的客户端配置工具 SQL Server 分布式查询:OLE DB连接(一)
查看所有0条评论>>