1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-07-06 21:41:48 +02:00

Add base64 encoder/decoder

This commit is contained in:
Eelco Dolstra 2015-02-09 15:09:39 +01:00
parent 70cae879e3
commit a596c525ad
3 changed files with 66 additions and 8 deletions

View file

@ -1023,14 +1023,8 @@ static void opGenerateBinaryCacheKey(Strings opFlags, Strings opArgs)
if (crypto_sign_keypair(pk, sk) != 0)
throw Error("key generation failed");
// FIXME: super ugly way to do base64 encoding.
auto args = Strings({"-MMIME::Base64", "-0777", "-ne", "print encode_base64($_, '')"});
string pk64 = runProgram("perl", true, args, string((char *) pk, crypto_sign_PUBLICKEYBYTES));
std::cout << keyName << ":" << pk64 << std::endl;
string sk64 = runProgram("perl", true, args, string((char *) sk, crypto_sign_SECRETKEYBYTES));
std::cout << keyName << ":" << sk64 << std::endl;
std::cout << keyName << ":" << base64Encode(string((char *) pk, crypto_sign_PUBLICKEYBYTES)) << std::endl;
std::cout << keyName << ":" << base64Encode(string((char *) sk, crypto_sign_SECRETKEYBYTES)) << std::endl;
}