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