Sponsored Content
Top Forums Programming C++ - Problem in asking and checking user's passwd Post 302443333 by Scott on Sunday 8th of August 2010 10:25:52 AM
Old 08-08-2010
Hi.

What error are you getting? I can compile the code no problem.

I'm not sure that you can do what you are trying to do.

From the crypt man page:

Code:
The crypt() function performs password encryption, based on the NBS Data Encryption Standard (DES).
Additional code has been added to deter key search attempts

user->pw_passwd is completely obfuscated and can't be compared to a crypted version of the string password.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Please help me with this script meant for checking /etc/passwd if a name exists

I'm trying to create a program that includes variety of duties. One of the duties includes deleting a user if the user name exist in the /etc/passwd file. how do i make that happen. those of you that know about this shell programming, please tell me what i should do after the shell reads... (4 Replies)
Discussion started by: TRUEST
4 Replies

2. UNIX for Dummies Questions & Answers

User should not be allowed to change passwd

Hi Group, Can anyone assist me with this? I am on AIX 5.2 ML06. I create the user and assign a passwd. But I do not want the user to change the passwd at all. I like him/her to use the passwd that I have set for him/her. Any ideas would be highly appreciated!!! Thanks. (3 Replies)
Discussion started by: brookingsd
3 Replies

3. Shell Programming and Scripting

Looking for specific user ID's from the passwd file

Hello, My issue is that I want to look for specific users that have their first and last initial followed by four numbers. For example: ab1234 I've already got the user ID's out of the passwd file more passwd | awk -F ":" '{print $1}' > userids I just need to know how to just pick... (8 Replies)
Discussion started by: LinuxRacr
8 Replies

4. UNIX for Dummies Questions & Answers

How the /etc/passwd file is written when user does not have permission

Hi, /etc/passwd file has write permission only for the root user. Now when a normal user changes the its own password using passwd command, how this information has been written to the /etc/passwd file when the user is not having write permission to this file. ~santosh (2 Replies)
Discussion started by: santosh149
2 Replies

5. Shell Programming and Scripting

Unix Script to search user id in /etc/passwd

Hey all, i have to write a script in Unix that would help me in my department to search certain user ids valid in /etc/passwd file.. here goes the exact question & data to help analyze: Amend a script to tell the user to enter a user id to be searched for in the /etc/passwd file. If there are no... (7 Replies)
Discussion started by: ally_d
7 Replies

6. Solaris

Force user to change passwd on first login

Hello All, How to force user to change his login passwd on his first login in solaris 10 ? while adding user do we need to set the password in theis case?? (7 Replies)
Discussion started by: saurabh84g
7 Replies

7. UNIX for Advanced & Expert Users

Determining if user is local-user in /etc/passwd or LDAP user

Besides doing some shell-script which loops through /etc/passwd, I was wondering if there was some command that would tell me, like an enhanced version of getent. The Operating system is Solaris 10 (recent-ish revision) using Sun DS for LDAP. (5 Replies)
Discussion started by: ckmehta
5 Replies

8. Shell Programming and Scripting

Matching user alias's to their ID's in the passwd file

Hi, I've a user alias file in the below format.. I need to change all the ID's that come after the = sign (with some multiple ID's which are separated by comma's) to their respective users that are contained in the passwords file.. Whats the best way to go about this.. Some sort of sed command in... (2 Replies)
Discussion started by: Jazmania
2 Replies

9. UNIX for Dummies Questions & Answers

User info not present in passwd file

I have logged into a box with some userid,but in this box der is no entry for this userid in /etc/passwd file.this box is used by multiple users but none of them have their enteries in passwd file but for each user there is a directory in /home like for user1 /home/user1 for user2... (5 Replies)
Discussion started by: Jcpratap
5 Replies

10. UNIX for Advanced & Expert Users

Big problem: shell entry in /etc/passwd corrupted for user root

did a big mistake, changing root entry of /etc/passwd to root:x:0:0:root:/root:/usr/bin/tmux split-window -v \; attach as expected, now I can't login as root anymore. sudo ed /etc/passwd etc. doesn't work. Any idea? Use code tags to increase readability and follow the rules. (4 Replies)
Discussion started by: dodona
4 Replies
CRYPT(3)						   BSD Library Functions Manual 						  CRYPT(3)

NAME
crypt, encrypt, setkey -- DES encryption SYNOPSIS
#include <unistd.h> char * crypt(const char *key, const char *salt); void encrypt(char *block, int edflag); #include <stdlib.h> void setkey(const char *key); DESCRIPTION
The crypt() function performs password encryption, based on the NBS Data Encryption Standard (DES). Additional code has been added to deter key search attempts. The first argument to crypt() is a null-terminated string, typically a user's typed password. The second is in one of two forms: if it begins with an underscore (``_''), an extended format is used in interpreting both the key and the salt value, as outlined below. Extended crypt: The key is divided into groups of 8 characters (the last group is null-padded) and the low-order 7 bits of each each character (56 bits per group) are used to form the DES key as follows: the first group of 56 bits becomes the initial DES key. For each additional group, the XOR of the encryption of the current DES key with itself and the group bits becomes the next DES key. The salt is a 9-character array consisting of an underscore, followed by 4 bytes of iteration count and 4 bytes of salt. These are encoded as printable characters, 6 bits per character, least significant character first. The values 0 to 63 are encoded as ``./0-9A-Za-z''. This allows 24 bits for both count and salt. Traditional crypt: The first 8 bytes of the key are null-padded, and the low-order 7 bits of each character is used to form the 56-bit DES key. The salt is a 2-character array of the ASCII-encoded salt. Thus, only 12 bits of salt are used. count is set to 25. Algorithm: The salt introduces disorder in the DES algorithm in one of 16777216 or 4096 possible ways (ie. with 24 or 12 bits: if bit i of the salt is set, then bits i and i+24 are swapped in the DES E-box output). The DES key is used to encrypt a 64-bit constant, using count iterations of DES. The value returned is a null-terminated string, 20 or 13 bytes (plus null) in length, consisting of the salt, followed by the encoded 64-bit encryption. The functions, encrypt() and setkey() provide access to the DES algorithm itself. setkey() is passed a 64-byte array of binary values (numeric 0 or 1). A 56-bit key is extracted from this array by dividing the array into groups of 8 and ignoring the last bit in each group. That bit is reserved for a byte parity check by DES, but is ignored by these functions. The block argument to encrypt() is also a 64-byte array of binary values. If the value of edflag is 0, block is encrypted; otherwise, it is decrypted. The result is returned in the original array block, after using the key specified by setkey() to process it. The function crypt() returns a pointer to the encrypted value on success, and NULL on failure. The crypt() and setkey() functions all manipulate the same key space. SEE ALSO
login(1), passwd(1), getpass(3), compat(5), passwd(5) LEGACY SYNOPSIS
#include <unistd.h> int encrypt(char *block, int edflag); The function encrypt() returns 0 on success and 1 on failure. void setkey(const char *key); The include file <unistd.h> is necessary and sufficient for the setkey() function. BUGS
The crypt() function returns a pointer to static data, and subsequent calls to crypt() will modify the same object. HISTORY
A rotor-based crypt() function appeared in Version 6 AT&T UNIX. The current style crypt() first appeared in Version 7 AT&T UNIX. This library (FreeSec 1.0) was developed outside the United States of America as an unencumbered replacement for the U.S.-only libcrypt encryption library. Programs linked against the crypt() interface may be exported from the U.S.A. only if they use crypt() solely for authentication purposes and avoid use of the other programmer interfaces listed above. Special care has been taken in the library so that programs which only use the crypt() interface do not pull in the other components. AUTHOR
David Burren <davidb@werj.com.au> FreeSec 1.0 March 9, 1994 FreeSec 1.0
All times are GMT -4. The time now is 06:21 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy