added testdecrypt
This commit is contained in:
parent
0d2fa7e380
commit
8a74b57724
@ -24,8 +24,10 @@ namespace rinseoffcli
|
||||
stderrStream.Flush();
|
||||
}
|
||||
static void loadData(string filepath, string keypath){
|
||||
// Load in an encrypted file and use a key file to decrypt it, then log bytes back to stdout
|
||||
byte[] plaintext = {};
|
||||
byte[] readBytes(string file){
|
||||
// Read bytes in from a file, exit with error message if not possible
|
||||
byte[] bytesToRead = {};
|
||||
try{
|
||||
bytesToRead = File.ReadAllBytes(file);
|
||||
@ -46,6 +48,7 @@ namespace rinseoffcli
|
||||
}
|
||||
var stdout = Console.OpenStandardOutput();
|
||||
try{
|
||||
// Decrypt a file using a key file
|
||||
plaintext = RinseOff.decrypt_secret_bytes(
|
||||
readBytes(filepath),
|
||||
readBytes(keypath)
|
||||
@ -59,6 +62,7 @@ namespace rinseoffcli
|
||||
stderrWrite("Could not decrypt " + filepath + " with " + keypath);
|
||||
Environment.Exit(12);
|
||||
}
|
||||
// print the plaintext and exit
|
||||
foreach(byte b in plaintext){
|
||||
stdout.WriteByte(b);
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
using NUnit.Framework;
|
||||
using System.Text;
|
||||
using System.Collections.Generic;
|
||||
using Sodium;
|
||||
|
||||
using rinseoff;
|
||||
namespace testDecrypted
|
||||
@ -15,7 +16,18 @@ namespace testDecrypted
|
||||
[Test]
|
||||
public void testDecrypted()
|
||||
{
|
||||
var key = Sodium.SecretBox.GenerateKey();
|
||||
var nonce = Sodium.SecretBox.GenerateNonce();
|
||||
var msg = Encoding.Default.GetBytes("hey");
|
||||
var encrypted = Sodium.SecretBox.Create(msg, nonce, key);
|
||||
var combined = new List<byte>();
|
||||
combined.AddRange(nonce);
|
||||
combined.AddRange(encrypted);
|
||||
|
||||
Assert.AreEqual(
|
||||
RinseOff.decrypt_secret_bytes(combined.ToArray(), key),
|
||||
msg
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user