Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

crypt(3) [minix man page]

CRYPT(3)						     Library Functions Manual							  CRYPT(3)

NAME
crypt - one-way password encryption function SYNOPSIS
#define _MINIX_SOURCE 1 #include <unistd.h> char *crypt(const char *key, const char *salt) DESCRIPTION
The first use of crypt() is to encrypt a password. Its second use is to authenticate a shadow password. In both cases crypt() calls pwdauth(8) to do the real work. Crypt() encrypts a password if called with a user typed key, and a salt whose first two characters are in the set [./0-9A-Za-z]. The result is a character string in the [./0-9A-Za-z] alphabet of which the first two characters are equal to the salt, and the rest is the result of encrypting the key and the salt. If crypt() is called with a salt that has the form ##user then the key is encrypted and compared to the encrypted password of user in the shadow password file. If they are equal then crypt() returns the ##user argument, if not then some other string is returned. This trick assures that the normal way to authenticate a password still works: if (strcmp(pw->pw_passwd, crypt(key, pw->pw_passwd))) ... If key is a null string, and the shadow password is a null string or the salt is a null string then the result equals salt. (This is because the caller can't tell if a password field is empty in the shadow password file.) The key and salt are limited to 1024 bytes total including the null bytes. FILES
/usr/lib/pwdauth The password authentication program SEE ALSO
getpass(3), getpwent(3), passwd(5), pwdauth(8). NOTES
The result of an encryption is returned in a static array that is overwritten by each call. The return value should not be modified. AUTHOR
Kees J. Bot (kjb@cs.vu.nl) CRYPT(3)

Check Out this Related Man Page

PWDAUTH()																 PWDAUTH()

NAME
pwdauth - password authentication program SYNOPSIS
/usr/lib/pwdauth DESCRIPTION
Pwdauth is a program that is used by the crypt(3) function to do the hard work. It is a setuid root utility so that it is able to read the shadow password file. Pwdauth expects on standard input two null terminated strings, the password typed by the user, and the salt. That is, the two arguments of the crypt function. The input read in a single read call must be 1024 characters or less including the nulls. Pwdauth takes one of two actions depending on the salt. If the salt has the form "##user" then the user is used to index the shadow password file to obtain the encrypted password. The input password is encrypted with the one-way encryption function contained within pwdauth and compared to the encrypted password from the shadow password file. If equal then pwdauth returns the string "##user" with exit code 0, otherwise exit code 2 to signal failure. The string "##user" is also returned if both the shadow password and the input password are null strings to allow a password-less login. If the salt is not of the form "##user" then the password is encrypted and the result of the encryption is returned. If salt and password are null strings then a null string is returned. The return value is written to standard output as a null terminated string of 1024 characters or less including the null. The exit code is 1 on any error. SEE ALSO
crypt(3), passwd(5). NOTES
A password must be checked like in this example: pw_ok = (strcmp(crypt(key, pw->pw_passwd), pw->pw_passwd) == 0); The second argument of crypt must be the entire encrypted password and not just the two character salt. AUTHOR
Kees J. Bot (kjb@cs.vu.nl) PWDAUTH()
Man Page

15 More Discussions You Might Find Interesting

1. Cybersecurity

Recover A password

Hello All, I have an application user (INFORMIX). This is a system user. It runs processes That I am unaware of. I need to discover the user's password. I can't change it, because it will affect the processes it's runnig. Is there a utility that will allow me to 'su' to that user from root... (3 Replies)
Discussion started by: SmartJuniorUnix
3 Replies

2. UNIX for Dummies Questions & Answers

Change password by pushing encrypted password to systems

I'm tasked to change a user's password on multiple Linux systems (RH v3). I though copying the encrypted password from one Linux /etc/shadow file to another would work but I was wrong. The long term solution is to establish an openLDAP Directory service, but for now I'm stuck with a manual... (1 Reply)
Discussion started by: benq70
1 Replies

3. AIX

File password protection/encryption

Can it be done? Ive read in a few places that the crypt program no longer exists on AIX...if its do-able please tell me how. (2 Replies)
Discussion started by: rdudejr
2 Replies

4. AIX

Crypt command

Will AIX support crypt command or elase is there any command which is similar to crypt on AIX? (2 Replies)
Discussion started by: kalpana.anuga
2 Replies

5. Linux

Interpreting the encrypted shadow password?

We are currently using a script to copy the same encrypted password between our HP-UX and Solaris servers editing the trusted and shadow files directly. The encrypted password is only 13 characters long on both servers and decrypts the same way. Is there a way to copy this same string to Linux... (5 Replies)
Discussion started by: keelba
5 Replies

6. UNIX for Advanced & Expert Users

Help in find and replace.

Hi All, I have the file in the following format.I need to change the password "tomcat","admin","mgr" and "testing" in the file with the encrypted passwords. The encrypted passwords are given to me by another script. <?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role... (22 Replies)
Discussion started by: nua7
22 Replies

7. Programming

check Linux password from /etc/shadow and C language

Hi. I want to write a C Program that get a user name and password , then compare it with encrypted password in /etc/shadow. I start with below program: #define _XOPEN_SOURCE #include <stdio.h> #include <time.h> #include <unistd.h> #include <crypt.h> int main (void) { char... (7 Replies)
Discussion started by: htabesh
7 Replies

8. Shell Programming and Scripting

Blank space cause error when use perl

I write a script with register and login user. So, i encrypt password with encryptedpass=`perl -e "print crypt("${mypass}",salt)"` if password do not contain blank space, it work but if password have blank space, it cause error in that line the error is: syntax error at -e ..... Anyone... (3 Replies)
Discussion started by: WuZun
3 Replies

9. UNIX for Dummies Questions & Answers

Password encryption

In unix, i know the password encrypt by using salt But how does it work? And how windows protect its password? Thank you for helping in advance (5 Replies)
Discussion started by: cryogen
5 Replies

10. Linux

Secured encrypted files via Linux

I need to encrypt a ".txt" file with password settings and it should decrypt the file automatoically when end user types correct password. Can some one help me on this. Thank you (3 Replies)
Discussion started by: rlmadhav
3 Replies

11. Shell Programming and Scripting

Perl and encryption

Basically, I'm wondering if there's an easy way to encrypt the password to a username and store it in MySQL. But being able to authenticate to it. (3 Replies)
Discussion started by: adelsin
3 Replies

12. Solaris

how i can input string from variable

hello every body my system is solaris 8 and my problem is i have a lot of user to change password so i'm key password every user and i want to input password from variable my script grep xxx shadow |while read a do passwd $a done #new password... (2 Replies)
Discussion started by: infjustice
2 Replies

13. Programming

Using a salt value

Hi, I've been reading up on using a salt value when creating a password to make it more secure, what I can't get my head round is how do you remember this salt value? I'm guessing that when a user logs in to be able to compare the password entered with the one in the database you... (2 Replies)
Discussion started by: AimyThomas
2 Replies

14. UNIX for Beginners Questions & Answers

How to identify user?

Hi Team I have created some time back a user called "iuser" but I am not able to login with it. I am getting below error. # su - iuser su: user iuser does not exist tried to unlock the user still get same error # pam_tally2 -u iuser -r pam_tally2: pam_get_uid; no such user iuser... (7 Replies)
Discussion started by: scriptor
7 Replies

15. UNIX for Advanced & Expert Users

How to pass password as a variable for sshpass authentication?

Using below below command i'm able to connect or authenticate server, In below command password contains special characters sshpass -v -p 'ASJBA%hs76)#' ssh -q -o ConnectTimeout=5 hostname But If I pass password as a variable I'm not able to connect or authenticate server, can you please help... (1 Reply)
Discussion started by: sam@sam
1 Replies