Foxtable(狐表)用户栏目专家坐堂 → 请问MD5 32位加密算法


  共有3127人关注过本帖树形打印复制链接

主题:请问MD5 32位加密算法

帅哥哟,离线,有人找我吗?
iliksou
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:118 积分:1482 威望:0 精华:0 注册:2012/5/29 22:16:00
请问MD5 32位加密算法  发帖心情 Post By:2013/12/9 16:28:00 [只看该作者]

请问MD5 32位加密算法?

 回到顶部
帅哥哟,离线,有人找我吗?
iliksou
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:118 积分:1482 威望:0 精华:0 注册:2012/5/29 22:16:00
  发帖心情 Post By:2013/12/9 16:49:00 [只看该作者]

顶一下

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/9 19:53:00 [只看该作者]

 把下面的代码写到全局代码,然后调用 msgbox(MD5("12345678", 32))

Public Function MD5(ByVal strSource As String, ByVal Code As Int16) As String
Dim dataToHash As Byte() = (New System.Text.ASCIIEncoding).GetBytes(strSource)
Dim hashvalue As Byte() = CType(System.Security.Cryptography.CryptoConfig.CreateFromName("MD5"), System.Security.Cryptography.HashAlgorithm).ComputeHash(dataToHash)
Dim ATR As String = ""
Dim i As Integer
Select Case Code
    Case 16      '选择16位字符的加密结果
        For i = 4 To 11
            ATR &= Hex(hashvalue(i)).PadLeft(2, "0").ToLower
            
        Next
    Case 32      '选择32位字符的加密结果
        For i = 0 To 15
            ATR &= Hex(hashvalue(i)).PadLeft(2, "0").ToLower
        Next
    Case Else       'Code错误时,返回全部字符串,即32位字符
        For i = 0 To 15
            ATR &= Hex(hashvalue(i)).PadLeft(2, "0").ToLower
        Next
End Select
Return ATR
End Function

 回到顶部
帅哥哟,离线,有人找我吗?
iliksou
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:118 积分:1482 威望:0 精华:0 注册:2012/5/29 22:16:00
  发帖心情 Post By:2013/12/10 19:37:00 [只看该作者]

谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
iliksou
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:118 积分:1482 威望:0 精华:0 注册:2012/5/29 22:16:00
  发帖心情 Post By:2013/12/10 19:59:00 [只看该作者]

经测试,完全正确。

 回到顶部
帅哥哟,离线,有人找我吗?
Hopenight
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:860 积分:10801 威望:0 精华:0 注册:2016/5/6 14:34:00
  发帖心情 Post By:2017/5/6 18:01:00 [只看该作者]

以下是引用有点甜在2013/12/9 19:53:00的发言:
 把下面的代码写到全局代码,然后调用 msgbox(MD5("12345678", 32))

Public Function MD5(ByVal strSource As String, ByVal Code As Int16) As String
Dim dataToHash As Byte() = (New System.Text.ASCIIEncoding).GetBytes(strSource)
Dim hashvalue As Byte() = CType(System.Security.Cryptography.CryptoConfig.CreateFromName("MD5"), System.Security.Cryptography.HashAlgorithm).ComputeHash(dataToHash)
Dim ATR As String = ""
Dim i As Integer
Select Case Code
    Case 16      '选择16位字符的加密结果
        For i = 4 To 11
            ATR &= Hex(hashvalue(i)).PadLeft(2, "0").ToLower
            
        Next
    Case 32      '选择32位字符的加密结果
        For i = 0 To 15
            ATR &= Hex(hashvalue(i)).PadLeft(2, "0").ToLower
        Next
    Case Else       'Code错误时,返回全部字符串,即32位字符
        For i = 0 To 15
            ATR &= Hex(hashvalue(i)).PadLeft(2, "0").ToLower
        Next
End Select
Return ATR
End Function

学习了,谢谢!

[此贴子已经被作者于2017/5/6 18:04:00编辑过]

 回到顶部