未公开的SQL Server口令的加密函数
2018-06-17 17:05:48来源:未知 阅读 ()
其实只要仔细看看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)
这样我们就可以使用这两个函数来加密自己的密码了
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- SQL Server迁移数据的方法 2020-03-09
- 关于exists和in的分析 2020-03-09
- SqlServer中tempdb的日志机制的介绍 2020-03-09
- 如何批量执行sql语句 2020-02-29
- sql还原数据库的教程 2020-02-29
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash