zgli
BlogJava
首页
新文章
新随笔
聚合
管理
posts - 35, comments - 7, trackbacks - 0
PasswordManager--从AES看到的有用代码片段
import
java.security.MessageDigest;
import
java.security.NoSuchAlgorithmException;
public
class
PasswordManager
{
//
***************************************************************
//
Public Interface
//
***************************************************************
/** */
/**
* Creates a one-way has of the specified password. This allows passwords to be
* safely stored in the database without any way to retrieve the original value.
*
*
@param
password the string to encrypt.
*
*
@return
the encrypted password, or null if encryption failed.
*/
public
static
String encryptPassword( String password )
{
try
{
MessageDigest md
=
MessageDigest.getInstance(
"
SHA
"
);
//
Create the encrypted Byte[]
md.update( password.getBytes() );
byte
[] hash
=
md.digest();
//
Convert the byte array into a String
StringBuffer hashStringBuf
=
new
StringBuffer();
String byteString;
int
byteLength;
for
(
int
index
=
0
; index
<
hash.length; index
++
)
{
byteString
=
String.valueOf( hash[index ]
+
128
);
//
Pad string to 3. Otherwise hash may not be unique.
byteLength
=
byteString.length();
switch
( byteLength )
{
case
1
:
byteString
=
"
00
"
+
byteString;
break
;
case
2
:
byteString
=
"
0
"
+
byteString;
break
;
}
hashStringBuf.append( byteString );
}
return
hashStringBuf.toString();
}
catch
( NoSuchAlgorithmException nsae )
{
System.out.println(
"
Error getting password hash -
"
+
nsae.getMessage() );
return
null
;
}
}
}
posted on 2006-03-28 15:45
java小记
阅读(273)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
<
2006年3月
>
日
一
二
三
四
五
六
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
原创(1)
转载(8)
随笔档案
2006年5月 (6)
2006年4月 (4)
2006年3月 (2)
2006年2月 (8)
2006年1月 (5)
2005年12月 (5)
2005年11月 (5)
搜索
最新评论
1. re: spring的DataSource事务郁闷了我两天[未登录]
你救了我呀,我倒没有郁闷2天,只有一天
--eric
2. re: XP的Administrator用户和自动登陆问题
好,谢谢。
--lin
3. re: About VoIP ?
评论内容较长,点击标题查看
--国际长途电话站
4. re: 关于spring的事务管理(单数据库):纯属猜测。
cx
--桂丰大厦
5. re: spring的DataSource事务郁闷了我两天
我很同情你~我也是啊~
--我是大侠~
阅读排行榜
1. XP的Administrator用户和自动登陆问题(5285)
2. Tomcat加大内存设置从windows服务启动不生效的问题(3285)
3. 如何防止swing窗口改变大小和最小化(2699)
4. 关于java虚拟机使用内存的思考(1887)
5. spring的DataSource事务郁闷了我两天(1559)
评论排行榜
1. XP的Administrator用户和自动登陆问题(3)
2. spring的DataSource事务郁闷了我两天(2)
3. About VoIP ?(1)
4. 关于spring的事务管理(单数据库):纯属猜测。(1)
5. PasswordManager--从AES看到的有用代码片段(0)