posts - 35,  comments - 7,  trackbacks - 0
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)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 

<2006年3月>
2627281234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用链接

留言簿(1)

随笔分类

随笔档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜