|
導讀數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應... 數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應用程序彼此獨立的數據集合。 Microsoft SQL Server是如何加密口令的?如何自制未公開的加密函數? 如果對MSSQL的用戶信息有興趣的,可能會發現master.dbo.sysxlogins里面存放著用戶的口令,可是呢,password字段如果不是null就是一堆看不懂的binary,這個口令是怎么加密的呢? 其實只要仔細看看master.dbo.sp_addlogin就知道了,MSSQL的sp都可以看到代碼,真是不錯。 讓我們來看看它是怎么做的,注意這一行select @passwd = pwdencrypt(@passwd),這個時后@passwd就被加密了,讓我們也來試一下 DECLARE @ClearPWD varchar(255) 看上去不錯,確實被加密了,可是我怎么還原呢? 呵呵,這就沒戲了,口令加密都是單向的,用加密后的密文來比較就可以了。 繼續看看其它用戶相關的sp,可以發現master.dbo.sp_password里面有口令比較的內容。 pwdcompare(@old, password, (CASE WHEN xstatus&2048 = 2048 THEN 1 ELSE 0 END)) 不用去理會xstatus,這是一個狀態掩碼,一般我們用的時候就直接用0就可以了 DECLARE @ClearPWD varchar(255) 這樣我們就可以使用這兩個函數來加密自己的密碼了:) 全新的路由器不僅讓你更穩定快速地連接無線網絡,更可以讓家中的智能設備連接在一起。 |
溫馨提示:喜歡本站的話,請收藏一下本站!