SHA1PRNG

SHA-1 Pseudo-Random Number Generation es un algoritmo de generación de números pseudoaleatorios utilizados por SHA-1. Este algoritmo viene implementado desde la versión 1.1 del JDK de Sun Microsystems como un API aparte, y desde la versión 1.4 viene ya integrado al J2SE.

Ejemplo de uso

 SecureRandom _random;
 MessageDigest _digest;
 byte[] _salt;
 
 public HashPass() throws NoSuchAlgorithmException {
   _random = SecureRandom.getInstance("SHA1PRNG");
   _digest = MessageDigest.getInstance("SHA-1");
   _salt = new byte[2];
 }
 public String getSaltString() {
   synchronized (_random) {
     _random.nextBytes(_salt);
   }
   return toHexString(_salt);
 }
 public String getSaltString(String hashedString) {
   return hashedString.substring(hashedString.length() - 4);
 }
 public String passWord(String pass, String salt) {
   String pw = pass + salt;
   byte[] hash = null;
   synchronized (_digest) {
     _digest.reset();
     _digest.update(pw.getBytes());
     hash = _digest.digest();
   }
   return toHexString(hash) + salt;
 }
 private static String toHexString(byte[] texto) {
   StringBuffer ret = new StringBuffer();
   String temp = Hex.getByteToHex(texto);
   for (int i = 0; i < temp.length(); i++)
     if (temp.charAt(i) != ' ' && temp.charAt(i) != '\n')
       ret.append(temp.charAt(i));
   return ret.toString();
 }


  • enlaces externos

Enlaces externos

Other Languages