2009-12-13 17 views

Respuesta

40

SHA1 verificador:

public boolean isValidSHA1(String s) { 
    return s.matches("[a-fA-F0-9]{40}"); 
} 

MD5 verificador:

public boolean isValidMD5(String s) { 
    return s.matches("[a-fA-F0-9]{32}"); 
} 
+1

¿Es extraño y maravilloso que dfa deba proporcionar un par de DFA? –

+1

no, no es :-) – dfa

+0

La expresión regular en la respuesta valida cadenas con una longitud de cadena mayor que 40 caracteres, esto debería corregirlo: '^ [a-fA-F0-9] {40} $' – michaeltintiuc

10

Cualquier secuencia de 160 bits es un posible hash SHA1. Cualquier secuencia de 128 bits es un posible hash MD5.

Si está viendo las representaciones de cadena hexagonal de ellas, entonces un sha1 se verá como 40 dígitos hexadecimales, y un md5 se verá como 32 dígitos hexadecimales.

+3

así que compruebe si hay un número hexadecimal de 40 y 32 dígitos respectivamente – cobbal

+0

Ha; Agregaste tu comentario mientras editaba. +1 –

+0

Esta respuesta es mejor porque explica por qué. –

0

MD5 verificador:

public boolean isValidMD5(String s) { 
return s.matches("[a-fA-F0-9]{32}");} 

Y eliminar "-" de la cadena de valor.

Cuestiones relacionadas