您的位置:首页 > 编程语言 > VB

VB.NET-计算文件MD5值和字符串sha1加密算法

2016-04-22 08:58 696 查看
''' <summary>
''' SHA1加密算法
''' </summary>
''' <param name="psword">需要加密的字符串</param>
''' <returns>返回已经加密的字符串</returns>
''' <remarks></remarks>
Private Function SHA1(ByVal psword As String) As String

Dim encPassword As String = ""
Dim sha As New System.Security.Cryptography.SHA1CryptoServiceProvider
Dim bytesToHash() As Byte

bytesToHash = System.Text.Encoding.ASCII.GetBytes(psword)
bytesToHash = sha.ComputeHash(bytesToHash)
For Each b As Byte In bytesToHash
encPassword += b.ToString("x2")
Next
sha.Clear()
Return encPassword

End Function


''' <summary>
''' 获取本地文件的MD5值
''' </summary>
''' <param name="strSource">文件地址</param>
''' <returns>文件的MD5</returns>
''' <remarks></remarks>
Public Shared Function getMD5(ByVal strSource As String) As String
Dim result As String = ""

Try
'strSource = System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\path.txt"
Dim fstream As New FileStream(strSource, FileMode.Open, FileAccess.Read)
Dim dataToHash(fstream.Length - 1) As Byte
fstream.Read(dataToHash, 0, fstream.Length)
fstream.Close()
Dim hashvalue As Byte() = CType(CryptoConfig.CreateFromName("MD5"), HashAlgorithm).ComputeHash(dataToHash)
Dim i As Integer
For i = 0 To hashvalue.Length - 1
result += Microsoft.VisualBasic.Right("00" + Hex(hashvalue(i)).ToLower, 2)
Next
Return result
Catch ex As Exception
'MsgBox(ex.Message)
Return result
End Try

End Function
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: