"-c, --check read skein sums from the FILEs and check them\n"
"--tag create a BSD-style checksum\n"
"-t, --text read in text mode (default)\n"
+ "-0 hash strings from command line\n"
"\n"
"The following three options are useful only when verifying checksums:\n"
"--quiet don't print OK for each successfully verified file\n"
/*****************************************************************************************
************************************* GETTING DATA ***********************************
*****************************************************************************************/
- while ((opt = getopt_long (argc, argv, "hVbctw", long_options, NULL)) != -1)
+ while ((opt = getopt_long (argc, argv, "hVbctw0", long_options, NULL)) != -1)
{
switch (opt) {
- case 0 : hashString = 1; break;
+ case '0' : hashString = 1; break;
case 'b' : binary = 1; break;
case 't' : binary = 0; break;
case 'c' : check = 1; break;
************************************* PROCESSING DATA ***********************************
*****************************************************************************************/
+ if (hashString > 0)
+ {
+ int n = first_file;
+ if (n >= argc) {
+ WARN("command line should contain strings for hashing\n");
+ TRYHELP_GOODBYE();
+ }
+ for( ; n < argc; n++) {
+ unsigned char output[hashbitlen/4];
+ char digest[hashbitlen/4 + 1];
+ Hash(hashbitlen, argv[n], strlen(argv[n]), output);
+ hash2hexstr(output, digest);
+ printf("%s -%s\n", digest, argv[n]);
+ }
+ return 0;
+ }
+
if (check < 0) /* READ FILES, GENERATE CHECKSUMS AND PRINT TO STDOUT.. */
{
if (quiet == 1 || warn == 1 || status == 1)