VB.NET에서 MD5 알고리즘 호출을 찾는 중입니다.
다음은 완전한 클래스입니다. 'DES 및 md5 암호화 및 해독'이라는 비밀번호를 설정할 수 있습니다.----참조 추가에서 system.web에 대한 참조를 추가합니다.
가져오기?System.Security.Cryptography
가져오기?시스템
가져오기?System.Text
가져오기?System.Web
p> p>'''?
'''?DES 암호화 클래스
'''?
'' '?
Public?Class?DESEncrypt
Public?Sub?DESEncrypt()
End?Sub
공개?공유?함수?Encrypt(ByVal?Text?As?String)?As?String
Return?Encrypt(Text,?"12345678")
End ?함수
공용?공유?함수?Encrypt(ByVal?Text?As?String,?ByVal?sKey?As?String)?As?String
Dim?des?As ?New ?DESCryptoServiceProvider()
Dim?inputByteArray?As?Byte()
inputByteArray?=?Encoding.Default.GetBytes(Text)
des. 키? =?ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey,?"md5").Substring(0,?8))
des.IV?=?ASCIIEncoding .ASCII .GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey,?"md5").Substring(0,?8))
Dim?ms?As?New?System.IO. MemoryStream( )
Dim?cs?As?New?CryptoStream(ms,?des.CreateEncryptor(),?CryptoStreamMode.Write)
cs.Write(inputByteArray,?0, ?inputByteArray .Length)
cs.FlushFinalBlock()
Dim?ret?As?New?StringBuilder()
Dim?b?As?Byte< /p >
For?Each?b?In?ms.ToArray()
ret.AppendFormat("{0:X2}",?b)
다음< /p >
Return?ret.ToString()
End?함수
공개?공유?Function?Decrypt(ByVal?Text?As?String)?As?String p>
Return?Decrypt(Text,?"12345678")
End?함수
공개?공유
?Function?Decrypt(ByVal?Text?As?String,?ByVal?sKey?As?String)?As?String
Dim?des?As?New?DESCryptoServiceProvider()
Dim?len?As?Integer
len?=?Text.Length?/?2
Dim?inputByteArray(len?-?1)?As?Byte
Dim?x,?i?As?Integer
For?x?=?0?To?len?-?1
i?=?Convert.ToInt32 (Text.Substring(x?*?2,?2),?16)
inputByteArray(x)?=?CType(i,?Byte)
다음
des.Key?=?ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey,?"md5").Substring(0,?8))
des .IV?=?ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey,?"md5").Substring(0,?8))
Dim?ms?As? New?System.IO.MemoryStream()
Dim?cs?As?New?CryptoStream(ms,?des.CreateDecryptor(),?CryptoStreamMode.Write)
cs.Write (inputByteArray,?0,?inputByteArray.Length)
cs.FlushFinalBlock()
Return?Encoding.Default.GetString(ms.ToArray())
End?Function
End?Class
'호출 메소드는 다음과 같습니다
Public?Class?Form1
Private?Sub ?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click?'암호화
Dim?str_Encrypt?As?String?=? DESEncrypt.Encrypt("암호화하려는 텍스트의 길이에는 제한이 없습니다.",?"비밀번호는 매우 길 수 있습니다. 이 매개변수를 생략하면 기본값은 12345678입니다.")
End?Sub
Private?Sub?Button2_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button2.Click?'암호 해독
어두움 ?str_Decrypt?As?String ?=?DESEncrypt.Decrypt("해독하려는 텍스트의 길이는 제한되지 않습니다.",?"암호화에 사용되는 비밀번호입니다. 이 매개변수가 생략되면 기본값은 12345678입니다.") p>
끝?하위