Find the answer to your Linux question:
Results 1 to 3 of 3
hi am compiling the simple code below about encryption #include <stdio.h> #include <time.h> #include <unistd.h> #include <crypt.h> int main(void) { unsigned long seed[2]; char salt[] = "$1$........"; const char *const ...
  1. #1
    Just Joined!
    Join Date
    Mar 2008
    Posts
    23

    Crypt function problem

    hi
    am compiling the simple code below about encryption
    #include <stdio.h>
    #include <time.h>
    #include <unistd.h>
    #include <crypt.h>

    int
    main(void)
    {
    unsigned long seed[2];
    char salt[] = "$1$........";
    const char *const seedchars =
    "./0123456789ABCDEFGHIJKLMNOPQRST"
    "UVWXYZabcdefghijklmnopqrstuvwxyz";
    char *password;
    int i;

    /* Generate a (not very) random seed.
    You should do it better than this... */
    seed[0] = time(NULL);
    seed[1] = getpid() ^ (seed[0] >> 14 & 0x30000);

    /* Turn it into printable characters from `seedchars'. */
    for (i = 0; i < 8; i++)
    salt[3+i] = seedchars[(seed[i/5] >> (i%5)*6) & 0x3f];

    /* Read in the user's password and encrypt it. */
    password = crypt(getpass("Password:"), salt);

    /* Print the results. */
    puts(password);
    return 0;
    }




    but it s giving the following error: "Crypt.c.text+0x100): undefined reference to `crypt"

    what might be the problem? any help will be gladly appreciated

    thanks

  2. #2
    Linux Engineer wje_lf's Avatar
    Join Date
    Sep 2007
    Location
    Mariposa
    Posts
    1,192
    From the man page:
    Programs using this function must be linked with -lcrypt.
    Hope this helps.
    --
    Bill

    Old age and treachery will overcome youth and skill.

  3. #3
    Just Joined!
    Join Date
    Mar 2008
    Posts
    23
    Thanks a lot for ur help....it worked

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
...