Password verschlüsseln ?

Matlock

New Member
Hi,
ich möchte ein Ftp Acc. erstellen, soll ja in der Form gehen.
# File Info
# Syntax: "user:crypt pw:uid:gid:comment:home:shell"
#
# - use shell command "crypt" to crypt the password

Sollte ja dann in etwa so aussehen
user:~$ crypt
please enter your passwort: test
passwd string is: "2xo7E2d80TiR."

doch bei mir passiert nichts , was benötige ich um dieses "crypt" nutzen zu können ?

Mfg
 
doch bei mir passiert nichts

was erwartest Du denn, was passieren soll? Laut deinem Shellauszug macht crypt genau dass, was es soll... dir einen String "cryptisch" wiederzugeben. Steht auch im man ;)

Code:
DESCRIPTION
       Mcrypt is a simple crypting program, a replacement  for  the  old  unix
       crypt(1).   When encrypting or decrypting a file, a new file is created
       with the extension .nc and mode 0600. The new file keeps the  modifica‐
       tion  date of the original.  The original file may be deleted by speci‐
       fying the -u parameter.  If no files are specified, the standard  input
       is encrypted to the standard output.

       Mcrypt uses all the symmetric algorithms included in libmcrypt.
 
Ich sagte doch es sollte so aussehen, doch bei mir sieht es so aus:

user:# crypt
Unix crypt(1) emulation program using mcrypt(1).


Enter the passphrase (maximum of 512 characters)
Please use a combination of upper and lower case letters and numbers.
Enter passphrase:
Enter passphrase:

mfg
 
Der Prozess hängt nach der Passphrase Eingabe, es liefert keinen Wert zurück.
Ich habe leider das gleiche Problem.

Ein Child wartet auf irgendeine Eingabe, aber auf welche und warum?
Hier das letzte Stück vom strace.

23878 open("/dev/tty", O_RDONLY|O_LARGEFILE) = 5
23878 ioctl(5, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
23878 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
23878 rt_sigaction(SIGINT, {0x804de40, [], SA_RESTORER, 0x1a29e8}, {0x804ab40, [], SA_RESTORER|SA_RESTART, 0x1a29e8}, 8) = 0
23878 ioctl(5, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
23878 ioctl(5, SNDCTL_TMR_START or TCSETS, {B38400 opost isig -icanon -echo ...}) = 0
23878 ioctl(5, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
23878 write(2, "Enter passphrase: ", 18) = 18
23878 read(5, "t", 1) = 1
23878 read(5, "e", 1) = 1
23878 read(5, "s", 1) = 1
23878 read(5, "t", 1) = 1
23878 read(5, "\n", 1) = 1
23878 write(2, "\r", 1) = 1
23878 write(2, "\n", 1) = 1
23878 ioctl(5, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
23878 ioctl(5, SNDCTL_TMR_START or TCSETS, {B38400 opost isig icanon echo ...}) = 0
23878 ioctl(5, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
23878 rt_sigaction(SIGINT, {0x804ab40, [], SA_RESTORER|SA_RESTART, 0x1a29e8}, NULL, 8) = 0
23878 close(5) = 0
23878 write(2, "\n", 1) = 1
23878 gettimeofday({1244487703, 762622}, {4294967176, 0}) = 0
23878 mlock(0x95f6bd0, 13) = 0
23878 mlock(0x95f6be8, 1056) = 0
23878 fstat64(0, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 1), ...}) = 0
23878 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f8a000
23878 read(0,
 
Last edited by a moderator:
Naja, bei der blinden Eingabe von bis zu 512 Zeichen kann leicht ein Fehler passieren. Daher wird das Passwort wohl zweimal abgefragt. Du gibst beim ersten Mal "test" ein, beim zweiten Mal nichts....

Alternativ kannst Du auch folgendes kleines Perl-Script verwenden (allerdings nur für die alten crypt basierten 8-Byte UNIX-Passworte.
Code:
: # -*-Perl-*-
eval 'exec perl -w -S $0 ${1+"$@"}' # Portability kludge
    if 0;
#
# This script crypts a given password
#

if ($#ARGV != 0)
{ 
  print("usage: crypt-pw password\n");
  exit();
}

print(crypt($ARGV[0],"sl") . "\n" );
 
Back
Top