>> --------------------------- >> CSFP (CrazySumForPasswords) >> VERSION 3 >> Password Regenerator >> December 2010 >> --------------------------- ____________ [ WHATS NEW? ] ############## CSFP has been rewritten from scratch. I have gained some limited experience since August 2009, when the initial version of CSFP was released, and that is what drove me to rewrite it. Version 3 is still far from perfect but at least it tries to be "decent" from a programming style standpoint, and more secure for server-side employment. _______________ [ WHAT IS THIS? ] ################# CSFP is a password regenerator. It will regenerate strong passwords from the data you input (files if you input filenames). ___________________________________________________ [ I ONLY SEE SOME TEXT FILES, WHERE IS THE PROGRAM? ] ##################################################### It is in the form of source-code. You must compile it by using the GNU C compiler. On most Linux distros, simply run the command `make' in the directory where the files are. Otherwise run `gcc -o csfp3 csfp3.c' and it'll create an executable named `csfp3'. Wait, are you using Windows? Read on. ____________________ [ I CAN'T COMPILE IT ] ###################### If you're running Windows, I'm sorry. CSFP3 is not designed to be runnable on your Operating System. This wasn't something I did on purpose, your OS type is simply too limited in design and compatibility (look up `POSIX'), and also lacks some components that the current version of CSFP needs to use. Rewriting CSFP for Windows would taint my code and break my soul. But I'm sure you could easily take CSFP's heart (the `encrypt()' function) and implant it into a Windows-bound monstrosity of your own making. If you're already running a Linux distribution, figure out how to install the GNU C compiler, and optionally the `make' utility for convenience. ________________________ [ SO HOW DOES CSFP WORK? ] ########################## Current version runs `/usr/bin/sha512sum' in the background to create the SHA512 checksum of the input. The input can be either from standard input (keyboard) or an actual file of any size. The SHA512 checksum is then modified to include special characters (symbols), and is expanded to up to 4096 characters. If you do not specify a desired length, it will be defaulted to 128. If you use a length either above 4096, or below 0 (unless as first argument, in which case it'd be considered a filename), the length will be defaulted to 4096. Be patient if you use it on large files, computing the password will take some time (see the hard-disk activity LED light). ________________ [ USAGE EXAMPLES ] ################## Synopsys is as follows (the order of the arguments must be respected): (NOTE: `./' means that the file whose name it precedes is in the current directory.) program_name <[file_to_be_checksumed] [desired_length_of_result]> "stdin" Standard Input examples: echo "Make me a password" | ./csfp3 echo "Make me a password" | ./csfp3 10 Filename examples: ./csfp3 ABIGISOOFSOMETHING.ISO ./csfp3 asmallfile.txt 20 IMPORTANT: If your filename is a number e.g. `2033' and you don't specify a desired length, prefix it with `./' otherwise the program will consider it to be desired length and will jam waiting for stdin pipe input. This is not a bug, to me it's a preference of performance over costly checks for special one-in-a-thousand cases. Examples: SHELL COMMAND WILL IT WORK? ------------- ------------- ./csfp3 2033 [NO] ./csfp3 '2033' [NO] ./csfp3 "2033" [NO] ./csfp3 ./2033 [YES] ________________ [ I FOUND A BUG! ] ################## Excellent. E-mail me at rfahy@ymail.com or post in the forums. Detailed description and explaining how to reproduce it will be greatly appreciated (i.e. useful). ________________ [ CONSIDERATIONS ] ################## For a bit of extra security, edit the program source and change the array `symbol_pool_'. Be warned, if you lose your edited version, you will not be able to regenerate your passwords (unless of course, you remember exactly how you edited the array and do it again). You can also increase the maximum generated password length from 4096. Be warned, the farther you go, the more likely that Linux will either refuse to give CSFP the memory it requests, or crash. -RF