国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

未公開的SQL Server口令的加密函數

2024-08-31 01:00:28
字體:
來源:轉載
供稿:網友
如果對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)
  這樣我們就可以使用這兩個函數來加密自己的密碼了
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南宁市| 外汇| 蒲江县| 金坛市| 潜山县| 仁化县| 西林县| 达拉特旗| 余干县| 乌鲁木齐市| 长宁县| 邓州市| 田阳县| 兰考县| 枝江市| 大足县| 黎城县| 桓台县| 柳林县| 米泉市| 吉首市| 许昌市| 枣强县| 徐闻县| 玉溪市| 宁蒗| 永福县| 体育| 囊谦县| 六盘水市| 嘉荫县| 海盐县| 宜黄县| 锦屏县| 扎鲁特旗| 昭苏县| 衡阳县| 中宁县| 柯坪县| 芦山县| 余庆县|