From d1dd46238ac5c361109dd4899e569e8c1177cf3b Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 16 Sep 2021 15:30:39 +0100 Subject: [PATCH] Update access.dm --- .../modules/integrated_electronics/subtypes/access.dm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/code/modules/integrated_electronics/subtypes/access.dm b/code/modules/integrated_electronics/subtypes/access.dm index 5e03ea1394..3473d07004 100644 --- a/code/modules/integrated_electronics/subtypes/access.dm +++ b/code/modules/integrated_electronics/subtypes/access.dm @@ -14,10 +14,16 @@ "on read" = IC_PINTYPE_PULSE_OUT ) + var/cipherkey + +/obj/item/integrated_circuit/input/card_reader/Initialize() + cipherkey = uppertext(random_string(2000+rand(0,10), GLOB.alphabet)) // the same way SScircuit.cipherkey is generated + ..() + /obj/item/integrated_circuit/input/card_reader/attackby_react(obj/item/I, mob/living/user, intent) var/obj/item/card/id/card = I.GetID() var/list/access = I.GetAccess() - var/passkey = strtohex(XorEncrypt(json_encode(access), SScircuit.cipherkey)) + var/passkey = strtohex(XorEncrypt(json_encode(access), cipherkey)) if(assembly) assembly.access_card.access |= access @@ -38,3 +44,6 @@ push_data() activate_pin(1) return TRUE + +/obj/item/integrated_circuit/input/card_reader/set_pin_data(pin_type, pin_number, datum/new_data) + cipherkey = uppertext(random_string(2000+rand(0,10), GLOB.alphabet)) // NEVER REUSE THE SAME KEY