密碼MD5信息摘要的一點(diǎn)建議
一般設(shè)計(jì)的系統(tǒng)用戶的密碼都是采用MD5摘要信息保存到數(shù)據(jù)庫(kù),但是現(xiàn)在網(wǎng)絡(luò)有很多MD5庫(kù),如果你不做任何處理就直接使用MD5標(biāo)準(zhǔn)算法提取摘要,最后很有可能導(dǎo)致用戶的密碼不幸已經(jīng)存在在現(xiàn)有MD5庫(kù)中.所以一般使用以下策略來避免這種情況:使用一串隨機(jī)字符串和明文組合成新密碼,然后提取這個(gè)新的密碼的MD5摘要作為摘要保存在數(shù)據(jù)庫(kù).
例碼:
2 * Created on 2007-9-22
3 */
4 package org.dueam.common.util;
5
6 import org.apache.commons.codec.digest.DigestUtils;
7
8 /** */ /**
9 * @author <a href="windonly@gmail.com">Anemone</a>
10 * hz,zj,china(2007-9-22)
11 */
12 public abstract class MD5Utils

13 /** */ /**
14 * 在明文之前增加隨機(jī)字符串,來產(chǎn)生特殊MD5的摘要
15 */
16 private final static String MD5_RANDOM = " FC2F056F1D8E4D59BD95AE15EED9C9C0 " ;
17 /** */ /**
18 * 提取密碼摘要
19 * @param password 密碼明文
20 * @return MD5摘要
21 */
22 public static String encode(String password)

23 return DigestUtils.md5Hex(MD5_RANDOM + password);
24 }
25
26 }
27
其中用到apache的codec包.
posted on 2007-09-22 09:59 Anemone 閱讀(1017) 評(píng)論(5) 編輯 收藏 所屬分類: 牧羊手冊(cè)