md5加密命令
❶ 求窗體中的MD5加密語句怎麼寫
private string aaa = "";
private string bbb = "";
/// <summary>
/// MD5加密方法
/// </summary>
/// <param name="str">需要加密的字元串</param>
/// <returns>返回字元串</returns>
private string GetMD5(string str)
{
byte[] data = Encoding.Default.GetBytes(str);
MD5 md5 = new MD5CryptoServiceProvider();
byte[] result = md5.ComputeHash(data);
string strMD5 = BitConverter.ToString(result).Replace("-", ""); //去掉加密後的 -
return strMD5.ToLower();
}
/// <summary>
/// 測試方法
/// </summary>
private void Test()
{
aaa = "test";
bbb = GetMD5(aaa);
}
❷ VB中md5命令函數是什麼
下面是完整的類,可以設置任意密碼
'DES及md5加密解密----添加引用中添加對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.(sKey, "md5").Substring(0, 8))
des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.(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.(sKey, "md5").Substring(0, 8))
des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.(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 '解密
Dim str_Decrypt As String = DESEncrypt.Decrypt("你要解密的文本, 可以是任意長度", "加密時用到的密碼,如果省略這個參數就是默認的12345678")
End Sub
❸ 使用md5怎麼給一串字元串加密
md5 不是加密演算法,是單向的,就是說經過這個演算法計算得到的結果不可能反推回原始值
❹ MD5是怎麼加密的
1、要有md5加密函數
2、使用這個函數
比如b/s程序 md5一般都是一個文件
需要用到md5的函數的時候 include這個文件
還是 md5(password,16) 就是調用這個函數 password是 變數名16 加密長度
❺ 怎麼用md5加密文件
ffcz,MD5是可逆的.
因為MD5是一套固定的演算法,所以自然是可逆的.
只是越復雜,越難算罷了.最好人來算,比機器快.
❻ MD5加密一個文件怎麼做
MD5不能加密一個文件,只是能計算出文件的md5值和SHA1和CRC32,他們用於標明文件的唯一身份。當病毒修改了這個文件,那個值會改變。網上有現成的軟體。
❼ 怎麼使用md5加密
或那個地方,請個高手給個詳細說明
------解決方案--------------------------------------------------------
MD5 不是用來加密的,MD5 是摘要演算法(或稱散列)。
MD5 的典型應用是對一段信息(Message)產生信息摘要(Message-Digest),以防止被篡改。
換個說法:地球上任何人都有自己獨一無二的指紋,這常常成為公安機關鑒別罪犯身份最值
得信賴的方法;與之類似,MD5 就可以為任何文件(不管其大小、格式、數量)產生一個同
樣獨一無二的「數字指紋」,如果任何人對文件做了任何改動,其MD5 值也就是對應的「數
字指紋」都會發生變化。
你會誤認為MD5 是加密的原因,是因為大多數系統為了保證密碼安全性,在系統中不存儲用
戶的實際密碼,而是存儲用戶密碼所對應的MD5 摘要值,這樣能避免資料庫信息被竊取後賬
戶密碼泄漏的問題,同時也能保證密碼可以被驗證(通過再次計算MD5)。
方式很簡單:
1、用戶初始設置密碼時,在JSP 界面中計算密碼的MD5,然後將散列值存儲資料庫的密碼欄位;
2、用戶登錄時,JSP 得到用戶登錄密碼後,同樣對其計算MD5,然後將計算後的散列值與數
據庫中的密碼欄位所保存的原始散列值進行比較,相同則說明密碼符合。
❽ Md5如何通過四個參數進行加密
你好,你先將abcd連接在一起,然後下面是加密的函數
def md5_passwd(str,salt='123456'):
#satl是鹽值,默認是123456
str=str+salt
import hashlib
md = hashlib.md5() # 構造一個md5對象
md.update(str.encode())
res = md.hexdigest()
return res
輸入是abcd的連接字元串
❾ md5加密是什麼
md5的全稱是message-digest algorithm 5(信息-摘要演算法),在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest開發出來,經md2、md3和md4發展而來。它的作用是讓大容量信息在用數字簽名軟體簽署私人密匙前被"壓縮"成一種保密的格式(就是把一個任意長度的位元組串變換成一定長的大整數)。不管是md2、md4還是md5,它們都需要獲得一個隨機長度的信息並產生一個128位的信息摘要。雖然這些演算法的結構或多或少有些相似,但md2的設計與md4和md5完全不同,那是因為md2是為8位機器做過設計優化的,而md4和md5卻是面向32位的電腦。這三個演算法的描述和c語言源代碼在internet rfcs 1321中有詳細的描述(http://www.ietf.org/rfc/rfc1321.txt),這是一份最權威的文檔,由ronald l. rivest在1992年8月向ieft提交。
MD5將任意長度的「位元組串」變換成一個128bit的大整數,並且它是一個不可逆的字元串變換演算法,換句話說就是,即使你看到源程序和演算法描述,也無法將一個MD5的值變換回原始的字元串,從數學原理上說,是因為原始的字元串有無窮多個,這有點象不存在反函數的數學函數。
MD5的典型應用是對一段Message(位元組串)產生fingerprint(指紋),以防止被「篡改」。舉個例子,你將一段話寫在一個叫 readme.txt文件中,並對這個readme.txt產生一個MD5的值並記錄在案,然後你可以傳播這個文件給別人,別人如果修改了文件中的任何內容,你對這個文件重新計算MD5時就會發現(兩個MD5值不相同)。如果再有一個第三方的認證機構,用MD5還可以防止文件作者的「抵賴」,這就是所謂的數字簽名應用。
MD5還廣泛用於加密和解密技術上,在很多操作系統中,用戶的密碼是以MD5值(或類似的其它演算法)的方式保存的, 用戶Login的時候,系統是把用戶輸入的密碼計算成MD5值,然後再去和系統中保存的MD5值進行比較,而系統並不「知道」用戶的密碼是什麼。
❿ 怎樣對數據進行md5加密呢
用md5演算法啊;public class MD5 {
private static MD5 md5 = null; static final int S11 = 7; static final int S12 = 12; static final int S13 = 17; static final int S14 = 22; static final int S21 = 5; static final int S22 = 9; static final int S23 = 14; static final int S24 = 20; static final int S31 = 4; static final int S32 = 11; static final int S33 = 16; static final int S34 = 23; static final int S41 = 6; static final int S42 = 10; static final int S43 = 15; static final int S44 = 21; static final byte PADDING[] = { -128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0 }; private long state[]; private long count[]; private byte buffer[]; public String digestHexStr; private byte digest[]; public static synchronized MD5 getInstance() {
if (md5 == null)
md5 = new MD5();
return md5;
} public String getMD5ofStr(String s) {
md5Init();
md5Update(s.getBytes(), s.length());
md5Final();
digestHexStr = "";
for (int i = 0; i < 16; i++) {
digestHexStr += byteHEX(digest[i]);
} return digestHexStr;
} private MD5() {
state = new long[4];
count = new long[2];
buffer = new byte[64];
digest = new byte[16];
md5Init();
} private void md5Init() {
count[0] = 0L;
count[1] = 0L;
state[0] = 0x67452301L;
state[1] = 0xefcdab89L;
state[2] = 0x98badcfeL;
state[3] = 0x10325476L;
} private long F(long l, long l1, long l2) {
return l & l1 | ~l & l2;
} private long G(long l, long l1, long l2) {
return l & l2 | l1 & ~l2;
} private long H(long l, long l1, long l2) {
return l ^ l1 ^ l2;
} private long I(long l, long l1, long l2) {
return l1 ^ (l | ~l2);
} private long FF(long l, long l1, long l2, long l3, long l4, long l5, long l6) {
l += F(l1, l2, l3) + l4 + l6;
l = (int) l << (int) l5 | (int) l >>> (int) (32L - l5);
l += l1;
return l;
} private long GG(long l, long l1, long l2, long l3, long l4, long l5, long l6) {
l += G(l1, l2, l3) + l4 + l6;
l = (int) l << (int) l5 | (int) l >>> (int) (32L - l5);
l += l1;
return l;
} private long HH(long l, long l1, long l2, long l3, long l4, long l5, long l6) {
l += H(l1, l2, l3) + l4 + l6;
l = (int) l << (int) l5 | (int) l >>> (int) (32L - l5);
l += l1;
return l;
} private long II(long l, long l1, long l2, long l3, long l4, long l5, long l6) {
l += I(l1, l2, l3) + l4 + l6;
l = (int) l << (int) l5 | (int) l >>> (int) (32L - l5);
l += l1;
return l;
} private void md5Update(byte abyte0[], int i) {
byte abyte1[] = new byte[64];
int k = (int) (count[0] >>> 3) & 0x3f;
if ((count[0] += i << 3) < (long) (i << 3)) {
count[1]++;
}
count[1] += i >>> 29;
int l = 64 - k;
int j;
if (i >= l) {
md5Memcpy(buffer, abyte0, k, 0, l);
md5Transform(buffer);
for (j = l; j + 63 < i; j += 64) {
md5Memcpy(abyte1, abyte0, 0, j, 64);
md5Transform(abyte1);
} k = 0;
} else {
j = 0;
}
md5Memcpy(buffer, abyte0, k, j, i - j);
} private void md5Final() {
byte abyte0[] = new byte[8];
Encode(abyte0, count, 8);
int i = (int) (count[0] >>> 3) & 0x3f;
int j = i >= 56 ? 120 - i : 56 - i;
md5Update(PADDING, j);
md5Update(abyte0, 8);
Encode(digest, state, 16);
} private void md5Memcpy(byte abyte0[], byte abyte1[], int i, int j, int k) {
for (int l = 0; l < k; l++) {
abyte0[i + l] = abyte1[j + l];
} } private void md5Transform(byte abyte0[]) {
long l = state[0];
long l1 = state[1];
long l2 = state[2];
long l3 = state[3];
long al[] = new long[16];
Decode(al, abyte0, 64);
l = FF(l, l1, l2, l3, al[0], 7L, 0xd76aa478L);
l3 = FF(l3, l, l1, l2, al[1], 12L, 0xe8c7b756L);
l2 = FF(l2, l3, l, l1, al[2], 17L, 0x242070dbL);
l1 = FF(l1, l2, l3, l, al[3], 22L, 0xc1bdceeeL);
l = FF(l, l1, l2, l3, al[4], 7L, 0xf57c0fafL);
l3 = FF(l3, l, l1, l2, al[5], 12L, 0x4787c62aL);
l2 = FF(l2, l3, l, l1, al[6], 17L, 0xa8304613L);
l1 = FF(l1, l2, l3, l, al[7], 22L, 0xfd469501L);
l = FF(l, l1, l2, l3, al[8], 7L, 0x698098d8L);
l3 = FF(l3, l, l1, l2, al[9], 12L, 0x8b44f7afL);
l2 = FF(l2, l3, l, l1, al[10], 17L, 0xffff5bb1L);
l1 = FF(l1, l2, l3, l, al[11], 22L, 0x895cd7beL);
l = FF(l, l1, l2, l3, al[12], 7L, 0x6b901122L);
l3 = FF(l3, l, l1, l2, al[13], 12L, 0xfd987193L);
l2 = FF(l2, l3, l, l1, al[14], 17L, 0xa679438eL);
l1 = FF(l1, l2, l3, l, al[15], 22L, 0x49b40821L);
l = GG(l, l1, l2, l3, al[1], 5L, 0xf61e2562L);
l3 = GG(l3, l, l1, l2, al[6], 9L, 0xc040b340L);
l2 = GG(l2, l3, l, l1, al[11], 14L, 0x265e5a51L);
l1 = GG(l1, l2, l3, l, al[0], 20L, 0xe9b6c7aaL);
l = GG(l, l1, l2, l3, al[5], 5L, 0xd62f105dL);
l3 = GG(l3, l, l1, l2, al[10], 9L, 0x2441453L);
l2 = GG(l2, l3, l, l1, al[15], 14L, 0xd8a1e681L);
l1 = GG(l1, l2, l3, l, al[4], 20L, 0xe7d3fbc8L);
l = GG(l, l1, l2, l3, al[9], 5L, 0x21e1cde6L);
l3 = GG(l3, l, l1, l2, al[14], 9L, 0xc33707d6L);
l2 = GG(l2, l3, l, l1, al[3], 14L, 0xf4d50d87L);
l1 = GG(l1, l2, l3, l, al[8], 20L, 0x455a14edL);
l = GG(l, l1, l2, l3, al[13], 5L, 0xa9e3e905L);
l3 = GG(l3, l, l1, l2, al[2], 9L, 0xfcefa3f8L);
l2 = GG(l2, l3, l, l1, al[7], 14L, 0x676f02d9L);
l1 = GG(l1, l2, l3, l, al[12], 20L, 0x8d2a4c8aL);
l = HH(l, l1, l2, l3, al[5], 4L, 0xfffa3942L);
l3 = HH(l3, l, l1, l2, al[8], 11L, 0x8771f681L);
l2 = HH(l2, l3, l, l1, al[11], 16L, 0x6d9d6122L);
l1 = HH(l1, l2, l3, l, al[14], 23L, 0xfde5380cL);
l = HH(l, l1, l2, l3, al[1], 4L, 0xa4beea44L);
l3 = HH(l3, l, l1, l2, al[4], 11L, 0x4bdecfa9L);
l2 = HH(l2, l3, l, l1, al[7], 16L, 0xf6bb4b60L);
l1 = HH(l1, l2, l3, l, al[10], 23L, 0xbebfbc70L);
l = HH(l, l1, l2, l3, al[13], 4L, 0x289b7ec6L);
l3 = HH(l3, l, l1, l2, al[0], 11L, 0xeaa127faL);
l2 = HH(l2, l3, l, l1, al[3], 16L, 0xd4ef3085L);
l1 = HH(l1, l2, l3, l, al[6], 23L, 0x4881d05L);
l = HH(l, l1, l2, l3, al[9], 4L, 0xd9d4d039L);
l3 = HH(l3, l, l1, l2, al[12], 11L, 0xe6db99e5L);
l2 = HH(l2, l3, l, l1, al[15], 16L, 0x1fa27cf8L);
l1 = HH(l1, l2, l3, l, al[2], 23L, 0xc4ac5665L);
l = II(l, l1, l2, l3, al[0], 6L, 0xf4292244L);
l3 = II(l3, l, l1, l2, al[7], 10L, 0x432aff97L);
l2 = II(l2, l3, l, l1, al[14], 15L, 0xab9423a7L);
l1 = II(l1, l2, l3, l, al[5], 21L, 0xfc93a039L);
l = II(l, l1, l2, l3, al[12], 6L, 0x655b59c3L);
l3 = II(l3, l, l1, l2, al[3], 10L, 0x8f0ccc92L);
l2 = II(l2, l3, l, l1, al[10], 15L, 0xffeff47dL);
l1 = II(l1, l2, l3, l, al[1], 21L, 0x85845dd1L);
l = II(l, l1, l2, l3, al[8], 6L, 0x6fa87e4fL);
l3 = II(l3, l, l1, l2, al[15], 10L, 0xfe2ce6e0L);
l2 = II(l2, l3, l, l1, al[6], 15L, 0xa3014314L);
l1 = II(l1, l2, l3, l, al[13], 21L, 0x4e0811a1L);
l = II(l, l1, l2, l3, al[4], 6L, 0xf7537e82L);
l3 = II(l3, l, l1, l2, al[11], 10L, 0xbd3af235L);
l2 = II(l2, l3, l, l1, al[2], 15L, 0x2ad7d2bbL);
l1 = II(l1, l2, l3, l, al[9], 21L, 0xeb86d391L);
state[0] += l;
state[1] += l1;
state[2] += l2;
state[3] += l3;
} private void Encode(byte abyte0[], long al[], int i) {
int j = 0;
for (int k = 0; k < i; k += 4) {
abyte0[k] = (byte) (int) (al[j] & 255L);
abyte0[k + 1] = (byte) (int) (al[j] >>> 8 & 255L);
abyte0[k + 2] = (byte) (int) (al[j] >>> 16 & 255L);
abyte0[k + 3] = (byte) (int) (al[j] >>> 24 & 255L);
j++;
} } private void Decode(long al[], byte abyte0[], int i) {
int j = 0;
for (int k = 0; k < i; k += 4) {
al[j] = b2iu(abyte0[k]) | b2iu(abyte0[k + 1]) << 8
| b2iu(abyte0[k + 2]) << 16 | b2iu(abyte0[k + 3]) << 24;
j++;
} } public static long b2iu(byte byte0) {
return byte0 >= 0 ? byte0 : byte0 & 0xff;
} public static String byteHEX(byte byte0) {
char ac[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A',
'B', 'C', 'D', 'E', 'F' };
char ac1[] = new char[2];
ac1[0] = ac[byte0 >>> 4 & 0xf];
ac1[1] = ac[byte0 & 0xf];
String s = new String(ac1);
return s;
} public static String getMD5Str(String string) {
return getInstance().getMD5ofStr(string);
} public static void main(String args[]) {
MD5 md5 = new MD5();
System.out.println(md5.getMD5ofStr("stupid"));
System.out.println(md5.getMD5Str(""));
}
}