29 lines
1.1 KiB
Zig
29 lines
1.1 KiB
Zig
|
const std = @import("std");
|
||
|
|
||
|
pub fn clipboardChanged(allocator: std.mem.Allocator, contents: []const u8) !void {
|
||
|
var arena_allocator = std.heap.ArenaAllocator.init(allocator);
|
||
|
defer arena_allocator.deinit();
|
||
|
const aa = arena_allocator.allocator();
|
||
|
const clip_contents = try aa.dupe(u8, contents);
|
||
|
defer aa.free(clip_contents);
|
||
|
|
||
|
// Dear lord, change this
|
||
|
const key = [_]u8{
|
||
|
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||
|
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
|
||
|
};
|
||
|
const in = [_]u8{ 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff };
|
||
|
var out: [16]u8 = undefined;
|
||
|
var ctx = std.crypto.core.aes.Aes256.initEnc(key);
|
||
|
ctx.encrypt(out[0..], in[0..]);
|
||
|
// Do the work. We are assumed here to
|
||
|
const stdout = std.io.getStdOut().writer();
|
||
|
const writer = stdout;
|
||
|
try writer.print("{s}", .{clip_contents});
|
||
|
}
|
||
|
|
||
|
test "full integration" {
|
||
|
var allocator = std.testing.allocator;
|
||
|
try clipboardChanged(allocator, "hello world");
|
||
|
}
|