VB.net 的MD5代码


原文:http://baike.baidu.com/link?url=VBUqC6fqVp5OB3mhfzlphknuYHwNqtO-VWq0tahehkdWx_ECIWOZCEWw6X0opDTf



Imports System
Imports System.Security.Cryptography
Imports System.Text
Module Example
    ' 哈希输入字符串并返回一个32字符的十六进制字符串哈希。
    Function getMd5Hash(ByVal input As String) As String
        ' 创建新的一个MD5CryptoServiceProvider对象的实例。
        Dim md5Hasher As New MD5CryptoServiceProvider()
        ' 输入的字符串转换为字节数组,并计算哈希。
        Dim data As Byte() = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input))
        ' 创建一个新的StringBuilder收集的字节,并创建一个字符串。
        Dim sBuilder As New StringBuilder()
        ' 通过每个字节的哈希数据和格式为十六进制字符串的每一个循环。
        Dim i As Integer
        For i = 0 To data.Length - 1
            sBuilder.Append(data(i).ToString("x2"))
        Next i
        ' 返回十六进制字符串。
        Return sBuilder.ToString()
    End Function
    ' 验证对一个字符串的哈希值。
    Function verifyMd5Hash(ByVal input As String,ByVal hash As String) As Boolean
        ' 哈希的输入。
        Dim hashOfInput As String = getMd5Hash(input)
        ' 创建StringComparer1的哈希进行比较。
        Dim comparer As StringComparer = StringComparer.OrdinalIgnoreCase
        If 0 = comparer.Compare(hashOfInput,hash) Then
            Return True
        Else
            Return False
        End If
    End Function
    Sub Main()
        Dim source As String = "Hello World!"
        Dim hash As String = getMd5Hash(source)
        Console.WriteLine("进行MD5加密的字符串为:" + source + " 加密的结果是:" + hash + ".")
        Console.WriteLine("验证哈希...")
        If verifyMd5Hash(source,hash) Then
            Console.WriteLine("哈希值是相同的。")
        Else
            Console.WriteLine("哈希值是不相同的。")
        End If
    End Sub
End Module
' 此代码示例产生下面的输出:
'
' 进行MD5加密的字符串为:Hello World! 加密的结果是:ed076287532e86365e841e92bfc50d8c.
' 验证哈希...
' 哈希值是相同的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值