Pregunta

Intento hacer algo así directamente en mi consola como algunos testruns:

no parece funcionar ... cualquier idea cuál es el error que estoy haciendo

salt="3245678906789045689"
password="12321312231"
blub=`sha1($salt.$password)`
-bash: command substitution: line 1: syntax error near unexpected token `$salt.$password'
-bash: command substitution: line 1: `sha1($salt.$password)'

arroja un error Esto es lo que tengo la intención de hacer al final:

echo $blub

¿Puede alguien que le ayude en cuál es el error que estoy haciendo?

¿Fue útil?

Solución

Probablemente desea usar SHA1 desde el paquete openssl . Esto debe estar instalado en su sistema.

echo -n "$salt$password" | openssl dgst -sha1
(stdin)= a1b2ce5a82e18f454db6b2d6ee82533914f90337

para capturar solo el SHA1-DIGEST:

blub=`echo -n "$salt$password" | openssl dgst -sha1 |awk '{print $NF}'`
echo $blub
a1b2ce5a82e18f454db6b2d6ee82533914f90337

Supongo que copió su código de php .Se llama a las funciones con soportes y el operador de . concatena las cuerdas.En esa interpretación, mi código es el equivalente exacto de su código en bash .

Otros consejos

No se encontré con muchas explicaciones sobre cómo hacer fácilmente una checksum SHA en Bash y ponerla en una variable de la manera correcta, al mismo tiempo que ya no debemos usar SHA1, pero algo más difícil deBruteforce, como SHA512:

dash=`echo -n $password$salt|sha512sum` ##gives hash with trailing dash
read hash rest <<< "$dash" ##removes trailing dash and gives $hash
echo $hash
6555b9d2331203634664f48f604b59372b32badbc115ec6b2586890ef4d3a6b6816d84cc424cdfc538f6a7ccf664c90caeeb942dbf7953051bb1d7414a191c51

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top