ver usuarios usuario tengan qué que muestra los llamados hay hallaste formato etc esta definida cuántos cuál con como comando buscar bloqueado archivo c linux encryption

usuarios - ¿Cuál es el método de encriptación utilizado en/etc/shadow?



etc passwd centos (4)

¿Cuál es el método de encriptación utilizado en / etc / shadow en sistemas GNU / Linux? Me gustaría escribir un pequeño programa para uso personal que use la misma API, pero por el momento no sé por dónde empezar.

Gracias por adelantado


Múltiples métodos de encriptación están disponibles en glibc, vea man 3 crypt, la sección de Notas de Glibc: http://manpages.courier-mta.org/htmlman3/crypt.3.html

Al verificar una contraseña existente, solo pase el formulario encriptado como sal; solo se usará la parte inicial $ id $ salt. Al crear una nueva contraseña, inicializa el id con lo que necesites y pon algunos caracteres aleatorios en sal.


ejemplo básico con crypt ()

#include <stdio.h> #include <stdlib.h> #define MAX_STR 256 #define MAX_SALT 12 int main(int argc, char *argv[]) { char password[MAX_STR]; char salt[MAX_SALT]; printf("salt: "); scanf("%s", salt); printf("password: "); scanf("%s", password); printf("Encrypt ''%s'' : ''%s''/n", password, crypt(password, salt)); return(EXIT_SUCCESS); }

Programa de compilación:

$ gcc -lcrypt test.c


Usa la función crypt(3) . En glibc, el método utilizado depende de la sal, si comienza con:

  • $ 1 $: usa MD5.
  • $ 5 $: usa SHA-256.
  • $ 6 $: usa SHA-512.
  • $ 2a $: utiliza blowfish, no compatible en todas partes.
  • De lo contrario, usa DES.

Recibo

referencia indefinida a ''cripta''

entonces creo que deberías compilar con

$ gcc test.c -lcrypt