ASP MD5 16進制和32位的使用
MD5是一種常用的密碼加密算法,被廣泛應用于各種編程語言中。在ASP中,我們常用的MD5加密方式有兩種:16進制和32位。本文將對這兩種方式進行詳細討論,并提供相關代碼示例。
16進制的MD5加密
16進制的MD5加密是將加密后的結果轉換成16進制數表示。具體使用方法如下:
<%@
'引入使用的對象
Option Explicit
Response.Charset = "UTF-8"
'使用16進制MD5加密
Function GetMD516(str)
Dim md5Obj, result
Set md5Obj = Server.CreateObject("MD5CryptoServiceProvider")
result = md5Obj.ComputeHash_2((StrConv(str, vbUnicode)))
Dim pos, hexStr
hexStr = ""
For pos = 1 To Len(result)
hexStr = hexStr & Right("0" & Hex(Ascb(Mid(result, pos, 1))), 2)
Next
GetMD516 = hexStr
End Function
'測試示例
Dim password
password = "123456"
Response.Write "加密結果:" & GetMD516(password)
%>
例如,對于字符串"123456"的16進制MD5加密結果為:e10adc3949ba59abbe56e057f20f883e。
32位的MD5加密
32位的MD5加密是將加密后的結果直接表示為32位的字符串。具體使用方法如下:
<%@
'引入使用的對象
Option Explicit
Response.Charset = "UTF-8"
'使用32位MD5加密
Function GetMD532(str)
Dim md5Obj, result
Set md5Obj = Server.CreateObject("MD5CryptoServiceProvider")
result = md5Obj.ComputeHash_2((StrConv(str, vbUnicode)))
Dim pos, hexStr
hexStr = ""
For pos = 1 To Len(result)
hexStr = hexStr & Right("00" & Hex(Ascb(Mid(result, pos, 1))), 2)
Next
GetMD532 = hexStr
End Function
'測試示例
Dim password
password = "123456"
Response.Write "加密結果:" & GetMD532(password)
%>
例如,對于字符串"123456"的32位MD5加密結果為:e10adc3949ba59abbe56e057f20f883e。
總結
無論是16進制的MD5加密還是32位的MD5加密,都能滿足一般的密碼加密需求。選擇使用哪種方式,可以根據實際需求和項目約定進行決定。如果對加密結果的可讀性有要求,可以選擇16進制的表示方式;如果對加密結果的長度有要求,可以選擇32位的表示方式。
例如,在用戶注冊時,我們通常會將用戶輸入的密碼進行加密后存儲到數據庫中。在登錄驗證時,將用戶輸入的密碼與數據庫中存儲的加密密碼進行對比。無論使用16進制還是32位的MD5加密,只要加密結果一致,就能驗證用戶密碼的正確性。
上一篇css+像素與px