Aqui está um folheto:
python -c 'import crypt; print crypt.crypt("test", "$6$random_salt")'
O Python 3.3+ inclui mksalt
na criptografia , o que facilita muito (e mais seguro) para usar:
python3 -c 'import crypt; print(crypt.crypt("test", crypt.mksalt(crypt.METHOD_SHA512)))'
Se você não fornecer um argumento para crypt.mksalt
(ele pode aceitar crypt.METHOD_CRYPT
, ...MD5
, SHA256
e SHA512
), ele usará o mais strong disponível.
O ID do hash (número após o primeiro $
) está relacionado ao método usado:
- 1 - > MD5
- 2a - > Blowfish (não em mainline glibc; adicionado em algumas distribuições Linux)
- 5 - > SHA-256 (desde o glibc 2.7)
- 6 - > SHA-512 (desde o glibc 2.7)
Eu recomendo que você procure o que são os sais e tal e como os smallclamgers comentam a diferença entre criptografia e hashing.
Atualização 1: A string produzida é adequada para scripts shadow e kickstart. Atualização 2: aviso. Se você estiver usando um Mac, veja o comentário sobre como usar isso em python em um mac onde ele não parece funcionar como esperado.