當進行使用者註冊時,可以使用md5演算法對密碼進行加密,保證資料的安全性
package com.xhz.utils;
public
class
md5code
;private
long
state =
newlong[4
];// state (abcd)
private
long
count =
newlong[2
];// number of bits, modulo 2^64 (lsb
// first)
private
byte
buffer =
newbyte[64
];// input buffer
public string digesthexstr;
private
byte
digest =
newbyte[16
];public string ge***5ofstr
(string inbuf)
return digesthexstr;
}public
md5code()
private
void
md5init()
private
longf(
long x,
long y,
long z)
private
longg(
long x,
long y,
long z)
private
longh(
long x,
long y,
long z)
private
longi(
long x,
long y,
long z)
private
longff(
long a,
long b,
long c,
long d,
long x,
long s,
long ac)
private
longgg(
long a,
long b,
long c,
long d,
long x,
long s,
long ac)
private
longhh(
long a,
long b,
long c,
long d,
long x,
long s,
long ac)
private
longii(
long a,
long b,
long c,
long d,
long x,
long s,
long ac)
private
void
md5update
(byte
inbuf,
int inputlen)
index =0;
}else
i =0;
// /* buffer remaining input */
md5memcpy
(buffer, inbuf, index, i, inputlen - i);}
private
void
md5final()
private
void
md5memcpy
(byte
output,
byte
input,
int outpos,
int inpos,
int len)
private
void
md5transform
(byte block)
private
void
encode
(byte
output,
long
input,
int len)
}private
void
decode
(long
output,
byte
input,
int len)
public
static
long
b2iu
(byte b)
public
static string bytehex
(byte ib)
;char
ob =
newchar[2
];ob[0]
= digit[
(ib >>>4)
&0x0f];
ob[1]
= digit[ib &
0x0f];
string s =
newstring
(ob)
;return s;
}}
測試:
public
class
md5test
}
結果:
壓縮性:任意長度的資料,算出的md5值長度都是固定的,32位。
容易計算:從原資料計算出md5值很容易。
抗修改性:對原資料進行任何改動,哪怕只修改1個位元組,所得到的md5值都有很大區別。
弱抗碰撞:已知原資料和其md5值,想找到乙個具有相同md5值的資料(即偽造資料)是非常困難的。
強抗碰撞:想找到兩個不同的資料,使它們具有相同的md5值,是非常困難的。
解決:
可以進行多次加密;
設定乙個種子數,將密碼和這個種子數一併進行加密後存入資料庫;
多種加密演算法一塊使用;
idea中使用MD5對密碼進行加密
加密是對密碼保護的一種有效方式,現在的加密方式有很多很多,今天剛學了md5的一種基礎加密方式,非常簡單,只需要引入md5util工具類就行。md5工具類 public class md5util 32位加密 return buf.tostring 16位的加密 return buf.tostring...
C 使用MD5對使用者密碼加密與解密
原文 c 使用md5對使用者密碼加密與解密 一.使用16位 32位 64位md5方法對使用者名稱加密 1 16位的md5加密 16位md5加密 public static string md5encrypt16 string password 2 32位的md5加密 32位md5加密 public ...
關於密碼進行MD5加密
system.security.cryptography.md5cryptoserviceprovider md5csp new system.security.cryptography.md5cryptoserviceprovider 例項化md5 獲取要加密的字段,並轉化為byte陣列 byte...