下面是完整的類,可以設(shè)置任意密碼

成都創(chuàng)新互聯(lián)為客戶提供專業(yè)的成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開(kāi)發(fā). 服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站程序開(kāi)發(fā)、WEB系統(tǒng)開(kāi)發(fā)、微信二次開(kāi)發(fā)、成都手機(jī)網(wǎng)站制作等網(wǎng)站方面業(yè)務(wù)。
'DES及md5加密解密----添加引用中添加對(duì)system.web的引用。
Imports?System.Security.Cryptography
Imports?System
Imports?System.Text
Imports?System.Web
'''?summary
'''?DES加密類
'''?/summary
'''?remarks/remarks
Public?Class?DESEncrypt
Public?Sub?DESEncrypt()
End?Sub
Public?Shared?Function?Encrypt(ByVal?Text?As?String)?As?String
Return?Encrypt(Text,?"12345678")
End?Function
Public?Shared?Function?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.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.CreateEncryptor(),?CryptoStreamMode.Write)
cs.Write(inputByteArray,?0,?inputByteArray.Length)
cs.FlushFinalBlock()
Dim?ret?As?New?StringBuilder()
Dim?b?As?Byte
For?Each?b?In?ms.ToArray()
ret.AppendFormat("{0:X2}",?b)
Next
Return?ret.ToString()
End?Function
Public?Shared?Function?Decrypt(ByVal?Text?As?String)?As?String
Return?Decrypt(Text,?"12345678")
End?Function
Public?Shared?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)
Next
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
'以下是調(diào)用方法
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("你要加密的文本,可以是任意長(zhǎng)度",?"密碼,可以很長(zhǎng),如果省略這個(gè)參數(shù)就是默認(rèn)的12345678")
End?Sub
Private?Sub?Button2_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button2.Click?'解密
Dim?str_Decrypt?As?String?=?DESEncrypt.Decrypt("你要解密的文本,?可以是任意長(zhǎng)度",?"加密時(shí)用到的密碼,如果省略這個(gè)參數(shù)就是默認(rèn)的12345678")
End?Sub
using System;
using System.Text;
using System.Security.Cryptography;
namespace MD5
{
public class MD5
{
// 32 位
public static String Encrypt(String s)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(s);
bytes = md5.ComputeHash(bytes);
md5.Clear();
string ret = "";
for (int i = 0; i bytes.Length; i++)
{
ret += Convert.ToString(bytes[i], 16).PadLeft(2, '0');
}
return ret.PadLeft(32, '0');
}
// 16 位
public static string Encrypt16(string ConvertString)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)), 4, 8);
t2 = t2.Replace("-", "");
return t2;
}
}
}
-------------------------------------
引用MD5命名空間
using MD5;
直接用MD5.Encrypt(textbox1.Text);即可加密;
MD5沒(méi)有解密的算法,要不然就不用加密了,網(wǎng)上有一些解密的網(wǎng)站,有些能解密,有些解密不了,有些還需要收費(fèi)才能解密。
Dim md5 As New MD5CryptoServiceProvider
Dim username As Byte() = (New ASCIIEncoding).GetBytes(TextBox1.Text)
'轉(zhuǎn)換為哈希值Byte數(shù)組
Dim mdByte As Byte() = md5.ComputeHash(username)
'Dim mdString As String = System.BitConverter.ToString(mdByte)
Dim mdString As String = (New ASCIIEncoding).GetString(mdByte)
TextBox2.Text = mdString
md5理論上是不可破解的,要對(duì)照,只能再次加密后對(duì)照,網(wǎng)上也有些專門(mén)破解的網(wǎng)站,不過(guò)我想你要的不是那個(gè)吧
md5加密運(yùn)算是不可逆的,就是說(shuō)不能通過(guò)那一串古古怪怪的東西算出它原始的樣子。
以下提供VB可用的16位和32位MD5加密函數(shù)代碼:
Private?Const?BITS_TO_A_BYTE?=?8
Private?Const?BYTES_TO_A_WORD?=?4
Private?Const?BITS_TO_A_WORD?=?32
Private?m_lOnBits(30)
Private?m_l2Power(30)
Private?Function?LShift(lValue,?iShiftBits)
If?iShiftBits?=?0?Then
LShift?=?lValue
Exit?Function
ElseIf?iShiftBits?=?31?Then
If?lValue?And?1?Then
LShift?=?H80000000
Else
LShift?=?0
End?If
Exit?Function
ElseIf?iShiftBits??0?Or?iShiftBits??31?Then
Err.Raise?6
End?If
If?(lValue?And?m_l2Power(31?-?iShiftBits))?Then
LShift?=?((lValue?And?m_lOnBits(31?-?(iShiftBits?+?1)))?*?m_l2Power(iShiftBits))?Or?H80000000
Else
LShift?=?((lValue?And?m_lOnBits(31?-?iShiftBits))?*?m_l2Power(iShiftBits))
End?If
End?Function
Private?Function?RShift(lValue,?iShiftBits)
If?iShiftBits?=?0?Then
RShift?=?lValue
Exit?Function
ElseIf?iShiftBits?=?31?Then
If?lValue?And?H80000000?Then
RShift?=?1
Else
RShift?=?0
End?If
Exit?Function
ElseIf?iShiftBits??0?Or?iShiftBits??31?Then
Err.Raise?6
End?If
RShift?=?(lValue?And?H7FFFFFFE)?\?m_l2Power(iShiftBits)
If?(lValue?And?H80000000)?Then
RShift?=?(RShift?Or?(H40000000?\?m_l2Power(iShiftBits?-?1)))
End?If
End?Function
Private?Function?RotateLeft(lValue,?iShiftBits)
RotateLeft?=?LShift(lValue,?iShiftBits)?Or?RShift(lValue,?(32?-?iShiftBits))
End?Function
Private?Function?AddUnsigned(lX,?lY)
Dim?lX4
Dim?lY4
Dim?lX8
Dim?lY8
Dim?lResult
lX8?=?lX?And?H80000000
lY8?=?lY?And?H80000000
lX4?=?lX?And?H40000000
lY4?=?lY?And?H40000000
lResult?=?(lX?And?H3FFFFFFF)?+?(lY?And?H3FFFFFFF)
If?lX4?And?lY4?Then
lResult?=?lResult?Xor?H80000000?Xor?lX8?Xor?lY8
ElseIf?lX4?Or?lY4?Then
If?lResult?And?H40000000?Then
lResult?=?lResult?Xor?HC0000000?Xor?lX8?Xor?lY8
Else
lResult?=?lResult?Xor?H40000000?Xor?lX8?Xor?lY8
End?If
Else
lResult?=?lResult?Xor?lX8?Xor?lY8
End?If
AddUnsigned?=?lResult
End?Function
Private?Function?md5_F(x,?y,?z)
md5_F?=?(x?And?y)?Or?((Not?x)?And?z)
End?Function
Private?Function?md5_G(x,?y,?z)
md5_G?=?(x?And?z)?Or?(y?And?(Not?z))
End?Function
Private?Function?md5_H(x,?y,?z)
md5_H?=?(x?Xor?y?Xor?z)
End?Function
Private?Function?md5_I(x,?y,?z)
md5_I?=?(y?Xor?(x?Or?(Not?z)))
End?Function
Private?Sub?md5_FF(a,?b,?c,?d,?x,?s,?ac)
a?=?AddUnsigned(a,?AddUnsigned(AddUnsigned(md5_F(b,?c,?d),?x),?ac))
a?=?RotateLeft(a,?s)
a?=?AddUnsigned(a,?b)
End?Sub
Private?Sub?md5_GG(a,?b,?c,?d,?x,?s,?ac)
a?=?AddUnsigned(a,?AddUnsigned(AddUnsigned(md5_G(b,?c,?d),?x),?ac))
a?=?RotateLeft(a,?s)
a?=?AddUnsigned(a,?b)
End?Sub
Private?Sub?md5_HH(a,?b,?c,?d,?x,?s,?ac)
a?=?AddUnsigned(a,?AddUnsigned(AddUnsigned(md5_H(b,?c,?d),?x),?ac))
a?=?RotateLeft(a,?s)
a?=?AddUnsigned(a,?b)
End?Sub
Private?Sub?md5_II(a,?b,?c,?d,?x,?s,?ac)
a?=?AddUnsigned(a,?AddUnsigned(AddUnsigned(md5_I(b,?c,?d),?x),?ac))
a?=?RotateLeft(a,?s)
a?=?AddUnsigned(a,?b)
End?Sub
Private?Function?ConvertToWordArray(sMessage)
Dim?lMessageLength
Dim?lNumberOfWords
Dim?lWordArray()
Dim?lBytePosition
Dim?lByteCount
Dim?lWordCount
Const?MODULUS_BITS?=?512
Const?CONGRUENT_BITS?=?448
lMessageLength?=?Len(sMessage)
lNumberOfWords?=?(((lMessageLength?+?((MODULUS_BITS?-?CONGRUENT_BITS)?\?BITS_TO_A_BYTE))?\?(MODULUS_BITS?\?BITS_TO_A_BYTE))?+?1)?*?(MODULUS_BITS?\?BITS_TO_A_WORD)
ReDim?lWordArray(lNumberOfWords?-?1)
lBytePosition?=?0
lByteCount?=?0
Do?Until?lByteCount?=?lMessageLength
lWordCount?=?lByteCount?\?BYTES_TO_A_WORD
lBytePosition?=?(lByteCount?Mod?BYTES_TO_A_WORD)?*?BITS_TO_A_BYTE
lWordArray(lWordCount)?=?lWordArray(lWordCount)?Or?LShift(Asc(Mid(sMessage,?lByteCount?+?1,?1)),?lBytePosition)
lByteCount?=?lByteCount?+?1
Loop
lWordCount?=?lByteCount?\?BYTES_TO_A_WORD
lBytePosition?=?(lByteCount?Mod?BYTES_TO_A_WORD)?*?BITS_TO_A_BYTE
lWordArray(lWordCount)?=?lWordArray(lWordCount)?Or?LShift(H80,?lBytePosition)
lWordArray(lNumberOfWords?-?2)?=?LShift(lMessageLength,?3)
lWordArray(lNumberOfWords?-?1)?=?RShift(lMessageLength,?29)
ConvertToWordArray?=?lWordArray
End?Function
Private?Function?WordToHex(lValue)
Dim?lByte
Dim?lCount
For?lCount?=?0?To?3
lByte?=?RShift(lValue,?lCount?*?BITS_TO_A_BYTE)?And?m_lOnBits(BITS_TO_A_BYTE?-?1)
WordToHex?=?WordToHex??Right("0"??Hex(lByte),?2)
Next
End?Function
Public?Function?MD5(sMessage,?stype)
m_lOnBits(0)?=?CLng(1)
m_lOnBits(1)?=?CLng(3)
m_lOnBits(2)?=?CLng(7)
m_lOnBits(3)?=?CLng(15)
m_lOnBits(4)?=?CLng(31)
m_lOnBits(5)?=?CLng(63)
m_lOnBits(6)?=?CLng(127)
m_lOnBits(7)?=?CLng(255)
m_lOnBits(8)?=?CLng(511)
m_lOnBits(9)?=?CLng(1023)
m_lOnBits(10)?=?CLng(2047)
m_lOnBits(11)?=?CLng(4095)
m_lOnBits(12)?=?CLng(8191)
m_lOnBits(13)?=?CLng(16383)
m_lOnBits(14)?=?CLng(32767)
m_lOnBits(15)?=?CLng(65535)
m_lOnBits(16)?=?CLng(131071)
m_lOnBits(17)?=?CLng(262143)
m_lOnBits(18)?=?CLng(524287)
m_lOnBits(19)?=?CLng(1048575)
m_lOnBits(20)?=?CLng(2097151)
m_lOnBits(21)?=?CLng(4194303)
m_lOnBits(22)?=?CLng(8388607)
m_lOnBits(23)?=?CLng(16777215)
m_lOnBits(24)?=?CLng(33554431)
m_lOnBits(25)?=?CLng(67108863)
m_lOnBits(26)?=?CLng(134217727)
m_lOnBits(27)?=?CLng(268435455)
m_lOnBits(28)?=?CLng(536870911)
m_lOnBits(29)?=?CLng(1073741823)
m_lOnBits(30)?=?CLng(2147483647)
m_l2Power(0)?=?CLng(1)
m_l2Power(1)?=?CLng(2)
m_l2Power(2)?=?CLng(4)
m_l2Power(3)?=?CLng(8)
m_l2Power(4)?=?CLng(16)
m_l2Power(5)?=?CLng(32)
m_l2Power(6)?=?CLng(64)
m_l2Power(7)?=?CLng(128)
m_l2Power(8)?=?CLng(256)
m_l2Power(9)?=?CLng(512)
m_l2Power(10)?=?CLng(1024)
m_l2Power(11)?=?CLng(2048)
m_l2Power(12)?=?CLng(4096)
m_l2Power(13)?=?CLng(8192)
m_l2Power(14)?=?CLng(16384)
m_l2Power(15)?=?CLng(32768)
m_l2Power(16)?=?CLng(65536)
m_l2Power(17)?=?CLng(131072)
m_l2Power(18)?=?CLng(262144)
m_l2Power(19)?=?CLng(524288)
m_l2Power(20)?=?CLng(1048576)
m_l2Power(21)?=?CLng(2097152)
m_l2Power(22)?=?CLng(4194304)
m_l2Power(23)?=?CLng(8388608)
m_l2Power(24)?=?CLng(16777216)
m_l2Power(25)?=?CLng(33554432)
m_l2Power(26)?=?CLng(67108864)
m_l2Power(27)?=?CLng(134217728)
m_l2Power(28)?=?CLng(268435456)
m_l2Power(29)?=?CLng(536870912)
m_l2Power(30)?=?CLng(1073741824)
Dim?x
Dim?k
Dim?AA
Dim?BB
Dim?CC
Dim?DD
Dim?a
Dim?b
Dim?c
Dim?d
Const?S11?=?7
Const?S12?=?12
Const?S13?=?17
Const?S14?=?22
Const?S21?=?5
Const?S22?=?9
Const?S23?=?14
Const?S24?=?20
Const?S31?=?4
Const?S32?=?11
Const?S33?=?16
Const?S34?=?23
Const?S41?=?6
Const?S42?=?10
Const?S43?=?15
Const?S44?=?21
x?=?ConvertToWordArray(sMessage)
a?=?H67452301
b?=?HEFCDAB89
c?=?H98BADCFE
d?=?H10325476
For?k?=?0?To?UBound(x)?Step?16
AA?=?a
BB?=?b
CC?=?c
DD?=?d
md5_FF?a,?b,?c,?d,?x(k?+?0),?S11,?HD76AA478
md5_FF?d,?a,?b,?c,?x(k?+?1),?S12,?HE8C7B756
md5_FF?c,?d,?a,?b,?x(k?+?2),?S13,?H242070DB
md5_FF?b,?c,?d,?a,?x(k?+?3),?S14,?HC1BDCEEE
md5_FF?a,?b,?c,?d,?x(k?+?4),?S11,?HF57C0FAF
md5_FF?d,?a,?b,?c,?x(k?+?5),?S12,?H4787C62A
md5_FF?c,?d,?a,?b,?x(k?+?6),?S13,?HA8304613
md5_FF?b,?c,?d,?a,?x(k?+?7),?S14,?HFD469501
md5_FF?a,?b,?c,?d,?x(k?+?8),?S11,?H698098D8
md5_FF?d,?a,?b,?c,?x(k?+?9),?S12,?H8B44F7AF
md5_FF?c,?d,?a,?b,?x(k?+?10),?S13,?HFFFF5BB1
md5_FF?b,?c,?d,?a,?x(k?+?11),?S14,?H895CD7BE
md5_FF?a,?b,?c,?d,?x(k?+?12),?S11,?H6B901122
md5_FF?d,?a,?b,?c,?x(k?+?13),?S12,?HFD987193
md5_FF?c,?d,?a,?b,?x(k?+?14),?S13,?HA679438E
md5_FF?b,?c,?d,?a,?x(k?+?15),?S14,?H49B40821
md5_GG?a,?b,?c,?d,?x(k?+?1),?S21,?HF61E2562
md5_GG?d,?a,?b,?c,?x(k?+?6),?S22,?HC040B340
md5_GG?c,?d,?a,?b,?x(k?+?11),?S23,?H265E5A51
md5_GG?b,?c,?d,?a,?x(k?+?0),?S24,?HE9B6C7AA
md5_GG?a,?b,?c,?d,?x(k?+?5),?S21,?HD62F105D
md5_GG?d,?a,?b,?c,?x(k?+?10),?S22,?H2441453
md5_GG?c,?d,?a,?b,?x(k?+?15),?S23,?HD8A1E681
md5_GG?b,?c,?d,?a,?x(k?+?4),?S24,?HE7D3FBC8
md5_GG?a,?b,?c,?d,?x(k?+?9),?S21,?H21E1CDE6
md5_GG?d,?a,?b,?c,?x(k?+?14),?S22,?HC33707D6
md5_GG?c,?d,?a,?b,?x(k?+?3),?S23,?HF4D50D87
md5_GG?b,?c,?d,?a,?x(k?+?8),?S24,?H455A14ED
md5_GG?a,?b,?c,?d,?x(k?+?13),?S21,?HA9E3E905
md5_GG?d,?a,?b,?c,?x(k?+?2),?S22,?HFCEFA3F8
md5_GG?c,?d,?a,?b,?x(k?+?7),?S23,?H676F02D9
md5_GG?b,?c,?d,?a,?x(k?+?12),?S24,?H8D2A4C8A
md5_HH?a,?b,?c,?d,?x(k?+?5),?S31,?HFFFA3942
md5_HH?d,?a,?b,?c,?x(k?+?8),?S32,?H8771F681
md5_HH?c,?d,?a,?b,?x(k?+?11),?S33,?H6D9D6122
md5_HH?b,?c,?d,?a,?x(k?+?14),?S34,?HFDE5380C
md5_HH?a,?b,?c,?d,?x(k?+?1),?S31,?HA4BEEA44
md5_HH?d,?a,?b,?c,?x(k?+?4),?S32,?H4BDECFA9
md5_HH?c,?d,?a,?b,?x(k?+?7),?S33,?HF6BB4B60
md5_HH?b,?c,?d,?a,?x(k?+?10),?S34,?HBEBFBC70
md5_HH?a,?b,?c,?d,?x(k?+?13),?S31,?H289B7EC6
md5_HH?d,?a,?b,?c,?x(k?+?0),?S32,?HEAA127FA
md5_HH?c,?d,?a,?b,?x(k?+?3),?S33,?HD4EF3085
md5_HH?b,?c,?d,?a,?x(k?+?6),?S34,?H4881D05
md5_HH?a,?b,?c,?d,?x(k?+?9),?S31,?HD9D4D039
md5_HH?d,?a,?b,?c,?x(k?+?12),?S32,?HE6DB99E5
md5_HH?c,?d,?a,?b,?x(k?+?15),?S33,?H1FA27CF8
md5_HH?b,?c,?d,?a,?x(k?+?2),?S34,?HC4AC5665
md5_II?a,?b,?c,?d,?x(k?+?0),?S41,?HF4292244
md5_II?d,?a,?b,?c,?x(k?+?7),?S42,?H432AFF97
md5_II?c,?d,?a,?b,?x(k?+?14),?S43,?HAB9423A7
md5_II?b,?c,?d,?a,?x(k?+?5),?S44,?HFC93A039
md5_II?a,?b,?c,?d,?x(k?+?12),?S41,?H655B59C3
md5_II?d,?a,?b,?c,?x(k?+?3),?S42,?H8F0CCC92
md5_II?c,?d,?a,?b,?x(k?+?10),?S43,?HFFEFF47D
md5_II?b,?c,?d,?a,?x(k?+?1),?S44,?H85845DD1
md5_II?a,?b,?c,?d,?x(k?+?8),?S41,?H6FA87E4F
md5_II?d,?a,?b,?c,?x(k?+?15),?S42,?HFE2CE6E0
md5_II?c,?d,?a,?b,?x(k?+?6),?S43,?HA3014314
md5_II?b,?c,?d,?a,?x(k?+?13),?S44,?H4E0811A1
md5_II?a,?b,?c,?d,?x(k?+?4),?S41,?HF7537E82
md5_II?d,?a,?b,?c,?x(k?+?11),?S42,?HBD3AF235
md5_II?c,?d,?a,?b,?x(k?+?2),?S43,?H2AD7D2BB
md5_II?b,?c,?d,?a,?x(k?+?9),?S44,?HEB86D391
a?=?AddUnsigned(a,?AA)
b?=?AddUnsigned(b,?BB)
c?=?AddUnsigned(c,?CC)
d?=?AddUnsigned(d,?DD)
Next
If?stype?=?32?Then
MD5?=?LCase(WordToHex(a)??WordToHex(b)??WordToHex(c)??WordToHex(d))
Else
MD5?=?LCase(WordToHex(b)??WordToHex(c))
End?If
End?Function
'下面是測(cè)試代碼
Sub?test()
MsgBox?MD5("a",?16)?'16位加密
MsgBox?MD5("a",?32)?'32位加密
End?Sub
MD5實(shí)際一種單向的算法,是散列,很多人認(rèn)為是加密,實(shí)際有誤
比如說(shuō)winxp、win7各版本都有MD5值,那么是否可依據(jù)這個(gè)值還原出個(gè)正版的winxp或win7呢?
況且MD5“加密”的密鑰長(zhǎng)度又是多少呢?比如des的不同版本有64位、128位、192位等
這個(gè)是我之前寫(xiě)的。在需要時(shí)調(diào)用即可。
Public Shared Function Encrypt(ByVal Text As String, ByVal sKey As String) As String
Dim provider As New DESCryptoServiceProvider()
Dim bytes As Byte() = Encoding.[Default].GetBytes(Text)
provider.Key = Encoding.ASCII.GetBytes(FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8))
provider.IV = Encoding.ASCII.GetBytes(FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8))
Dim stream As New MemoryStream()
Dim stream2 As New CryptoStream(stream, provider.CreateEncryptor(), CryptoStreamMode.Write)
stream2.Write(bytes, 0, bytes.Length)
stream2.FlushFinalBlock()
Dim builder As New StringBuilder()
For Each num As Byte In stream.ToArray()
builder.AppendFormat("{0:X2}", num)
Next
Return builder.ToString()
End Function
希望能幫到你
網(wǎng)頁(yè)名稱:vb.net中md5加密,c# md5 加解密
文章鏈接:http://chinadenli.net/article43/dsisghs.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、定制網(wǎng)站、標(biāo)簽優(yōu)化、網(wǎng)站設(shè)計(jì)公司、移動(dòng)網(wǎng)站建設(shè)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)