git-svn-id: svn://db.shs.com.ru/pip@227 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2016-08-17 16:17:11 +00:00
parent f76a27d6cf
commit 9480d209b4

View File

@@ -7,14 +7,14 @@ using namespace PICoutManipulators;
void usage() { void usage() {
piCout << Bold << "PIP Crypt Utility"; piCout << Bold << "PIP Crypt Utility";
piCout << Cyan << "Version" << Bold << PIPVersion() << NewLine; piCout << Cyan << "Version" << Bold << PIPVersion() << NewLine;
piCout << Green << Bold << "Usage:" << Default << "\"picrypt [-thr] [-g <pass>] [-o <out_file>] [{[-c <file>] [-u <file>]} {[-p <pass>] [-s <hash>] [-k <key_file>] [-x <hex_key>]}]\"" << NewLine; piCout << Green << Bold << "Usage:" << Default << "\"picrypt [-thr] [-g <pass>] [-o <out_file>] [{[-c <file>] [-d <file>]} {[-p <pass>] [-s <hash>] [-k <key_file>] [-x <hex_key>]}]\"" << NewLine;
piCout << Green << Bold << "Details:"; piCout << Green << Bold << "Details:";
piCout << "-h --help " << Green << "- display this message and exit"; piCout << "-h --help " << Green << "- display this message and exit";
piCout << "-g --genhash " << Green << "- generate hash from <pass> string"; piCout << "-g --genhash " << Green << "- generate hash from <pass> string";
piCout << "-t --text " << Green << "- output in text base64"; piCout << "-t --text " << Green << "- output in text base64";
piCout << "-o --out <out_file> " << Green << "- write out to file <out_file>"; piCout << "-o --out <out_file> " << Green << "- write out to file <out_file>";
piCout << "-c --crypt <file> " << Green << "- crypt file <file> using secret <pass> or <hash> or <key_file>"; piCout << "-c --crypt <file> " << Green << "- crypt file <file> using secret <pass> or <hash> or <key_file>";
piCout << "-u --uncrypt <file> " << Green << "- uncrypt file <file> using secret <pass> or <hash> or <key_file>"; piCout << "-d --decrypt <file> " << Green << "- decrypt file <file> using secret <pass> or <hash> or <key_file>";
piCout << "-p --pass <pass> " << Green << "- use secret from passphrase <pass>"; piCout << "-p --pass <pass> " << Green << "- use secret from passphrase <pass>";
piCout << "-s --secret <hash> " << Green << "- use secret from hash <hash>"; piCout << "-s --secret <hash> " << Green << "- use secret from hash <hash>";
piCout << "-k --key <key_file> " << Green << "- use secret from binary key_file <key_file>"; piCout << "-k --key <key_file> " << Green << "- use secret from binary key_file <key_file>";
@@ -30,7 +30,7 @@ int main (int argc, char * argv[]) {
cli.addArgument("genhash", true); cli.addArgument("genhash", true);
cli.addArgument("out", true); cli.addArgument("out", true);
cli.addArgument("crypt", true); cli.addArgument("crypt", true);
cli.addArgument("uncrypt", true); cli.addArgument("decrypt", true);
cli.addArgument("pass", true); cli.addArgument("pass", true);
cli.addArgument("secret", true); cli.addArgument("secret", true);
cli.addArgument("key", true); cli.addArgument("key", true);
@@ -41,7 +41,7 @@ int main (int argc, char * argv[]) {
if (!(cli.hasArgument("genhash") || if (!(cli.hasArgument("genhash") ||
cli.hasArgument("crypt") || cli.hasArgument("crypt") ||
cli.hasArgument("uncrypt") || cli.hasArgument("decrypt") ||
cli.hasArgument("random")) || cli.hasArgument("random")) ||
cli.hasArgument("help")) { cli.hasArgument("help")) {
usage(); usage();
@@ -61,7 +61,7 @@ int main (int argc, char * argv[]) {
bout = crypt.hash(s); bout = crypt.hash(s);
} else if (cli.hasArgument("random")) bout = crypt.generateKey(); } else if (cli.hasArgument("random")) bout = crypt.generateKey();
if (cli.hasArgument("crypt") || cli.hasArgument("uncrypt")) { if (cli.hasArgument("crypt") || cli.hasArgument("decrypt")) {
PIByteArray secret; PIByteArray secret;
if (cli.hasArgument("key")) { if (cli.hasArgument("key")) {
PIFile keyf(cli.argumentValue("key"), PIIODevice::ReadOnly); PIFile keyf(cli.argumentValue("key"), PIIODevice::ReadOnly);
@@ -77,11 +77,11 @@ int main (int argc, char * argv[]) {
PIByteArray bin; PIByteArray bin;
crypt.setKey(secret); crypt.setKey(secret);
if (cli.hasArgument("crypt")) in_file = cli.argumentValue("crypt"); if (cli.hasArgument("crypt")) in_file = cli.argumentValue("crypt");
if (cli.hasArgument("uncrypt")) in_file = cli.argumentValue("uncrypt"); if (cli.hasArgument("decrypt")) in_file = cli.argumentValue("decrypt");
if (inf.open(in_file, PIIODevice::ReadOnly)) { if (inf.open(in_file, PIIODevice::ReadOnly)) {
bin = inf.readAll(); bin = inf.readAll();
if (cli.hasArgument("crypt")) bout = crypt.crypt(bin); if (cli.hasArgument("crypt")) bout = crypt.crypt(bin);
if (cli.hasArgument("uncrypt")) bout = crypt.decrypt(bin); if (cli.hasArgument("decrypt")) bout = crypt.decrypt(bin);
} else piCout << "error: while open input file"; } else piCout << "error: while open input file";
} else piCout << "error: invalid secret"; } else piCout << "error: invalid secret";
} }