註冊使用者時,使用MD5對密碼進行加密

2021-10-08 18:32:38 字數 3103 閱讀 7168

當進行使用者註冊時,可以使用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...