컴퓨터 지식 네트워크 - 컴퓨터 설치 - VB.NET에서 MD5 알고리즘 호출을 찾는 중입니다.

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

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입니다.")

끝?하위

上篇: 리강 자매는 어느 부대에 속해 있나요? 下篇: 자동차 확장수조의 작동원리
관련 내용