未公开的MS SQL Server 加密函数

数据库 SQL Server
我们今天主要向大家讲述的是未公开的MS SQL Server 加密函数,以及其在实际操作中值得我们大家注意的相关事项的具体描述。

此文章主要讲述的是未公开的MS SQL Server 加密函数,如果对MSSQL的用户信息有兴趣了解的话,你就可能会发现master.dbo.sysxlogins里面存放着用户的口令,可是呢,password字段如果不是null就是一堆看不懂的binary,这个口令是怎么加密的呢?

其实只要仔细看看master.dbo.sp_addlogin就知道了,MSSQL的sp都可以看到代码,真是不错。

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

  1. DECLARE @ClearPWD varchar(255)   
  2. DECLARE @EncryptedPWD varbinary(255)  
  3. SELECT @ClearPWD = 'test' 
  4. SELECT @EncryptedPWD = CONVERT(varbinary(255), pwdencrypt(@ClearPWD))  
  5. SELECT @EncryptedPWD 

看上去不错,确实被加密了,可是我怎么还原呢?

呵呵,这就没戏了,口令加密都是单向的,用加密后的密文来比较就可以了。

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

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

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

  1. DECLARE @ClearPWD varchar(255)   
  2. DECLARE @EncryptedPWD varbinary(255)  
  3. SELECT @ClearPWD = 'test' 
  4. SELECT @EncryptedPWD = CONVERT(varbinary(255), pwdencrypt(@ClearPWD))  
  5. SELECT pwdcompare(@ClearPWD, @EncryptedPWD, 0)  
  6. SELECT pwdcompare('ErrorPassword', @EncryptedPWD, 0) 

这样我们就可以使用这两个函数来加密自己的密码了,怎么样,还不错吧?以上的相关内容就是对未公开的MS SQL Server 加密函数的介绍,望你能有所收获。

未公开的MS SQL Server 加密函数

上述的相关内容就是对未公开的MS SQL Server 加密函数的描述,希望会给你带来一些帮助在此方面。

【编辑推荐】

  1. SQL Server重复数据删除的2个操作方案
  2. MS SQL Server 未公开的加密函数有哪些?
  3. 用SQL Server 2005DDL触发器对数据库进行监控
  4. SQL Server删除重复数据的2个实用方案
  5. SQL Server数据库相关数据大汇和
责任编辑:佚名 来源: eNet硅谷动力
相关推荐

2010-07-23 15:52:52

MS SQL Serv

2009-07-06 18:01:04

Windows CE未公开函数

2010-06-18 10:50:55

ms SQL Serv

2010-06-10 10:23:14

MySQL加密函数

2010-07-20 15:24:27

MS SQL Serv

2010-07-08 13:26:02

SQL Server

2009-12-04 14:23:33

PHP JSON加密函

2022-04-13 16:48:51

CPU网络安全

2010-05-14 13:50:57

2010-07-08 10:38:24

MS SQL Serv

2022-02-09 10:32:19

jsrpcjsrpc工具网络爬虫

2009-05-22 16:42:02

MS SQLMySQL转换

2009-11-30 15:00:19

PHP加密解密函数au

2011-03-21 10:13:31

Sql Server数分区

2011-09-01 15:40:42

SQL Server存储过程和存储函数的加

2010-07-16 10:48:24

MS SQL Serv

2010-07-12 17:18:24

MS SQL Serv

2010-07-15 12:38:14

SQL Server存

2010-06-09 14:47:24

MySQL加密函数

2009-07-28 16:39:16

VB.NET的MD5加
点赞
收藏

51CTO技术栈公众号