mirror of
https://github.com/Tyrrrz/DiscordChatExporter.git
synced 2026-03-31 09:33:03 -06:00
Clean up
This commit is contained in:
parent
3391e755fc
commit
7ff2347df1
|
|
@ -85,14 +85,21 @@ public partial class SettingsService
|
||||||
|
|
||||||
// Layout: nonce (12 bytes) | paddingLength (1 byte) | tag (16 bytes) | cipher (paddingLength + tokenData.Length)
|
// Layout: nonce (12 bytes) | paddingLength (1 byte) | tag (16 bytes) | cipher (paddingLength + tokenData.Length)
|
||||||
var data = new byte[29 + paddingLength + tokenData.Length];
|
var data = new byte[29 + paddingLength + tokenData.Length];
|
||||||
RandomNumberGenerator.Fill(data.AsSpan(0, 12)); // nonce
|
|
||||||
|
// Nonce
|
||||||
|
RandomNumberGenerator.Fill(data.AsSpan(0, 12));
|
||||||
|
|
||||||
|
// Padding length
|
||||||
data[12] = (byte)paddingLength;
|
data[12] = (byte)paddingLength;
|
||||||
var cipherSource = data.AsSpan(29);
|
|
||||||
RandomNumberGenerator.Fill(cipherSource[..paddingLength]); // random padding
|
// Padding
|
||||||
tokenData.CopyTo(cipherSource[paddingLength..]); // token
|
RandomNumberGenerator.Fill(data.AsSpan(29, paddingLength));
|
||||||
|
|
||||||
|
// Token data
|
||||||
|
tokenData.CopyTo(data.AsSpan(29 + paddingLength));
|
||||||
|
|
||||||
using var aes = new AesGcm(Key.Value, 16);
|
using var aes = new AesGcm(Key.Value, 16);
|
||||||
aes.Encrypt(data.AsSpan(0, 12), cipherSource, cipherSource, data.AsSpan(13, 16));
|
aes.Encrypt(data.AsSpan(0, 12), data.AsSpan(29), data.AsSpan(29), data.AsSpan(13, 16));
|
||||||
|
|
||||||
writer.WriteStringValue(Prefix + Convert.ToHexStringLower(data));
|
writer.WriteStringValue(Prefix + Convert.ToHexStringLower(data));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue