From d953daa3676780d2eb4736d51225f8d80c9882b1 Mon Sep 17 00:00:00 2001 From: Amperstrand Date: Sat, 18 Apr 2026 08:53:35 +0200 Subject: [PATCH] Normalize UID casing in PICC test comparison CryptoJS.enc.Hex.stringify() returns lowercase hex, while tag.id is uppercase on Android. Lowercase the UID before the startsWith check so valid PICC decryptions don't show a false failure. Fixes #1 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- app/class/NTag424.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/class/NTag424.tsx b/app/class/NTag424.tsx index 6ec21c2..1f4bdfd 100644 --- a/app/class/NTag424.tsx +++ b/app/class/NTag424.tsx @@ -794,7 +794,7 @@ Ntag424.testPAndC = async (pVal: any, cVal: any, uid: any, piccKey: any, macKey: keySize: 128 / 8, }); const decryptedPiccData = CryptoJS.enc.Hex.stringify(decPiccData); - if (decryptedPiccData.startsWith("c7" + uid)) result.pTest = true; + if (decryptedPiccData.startsWith("c7" + uid.toLowerCase())) result.pTest = true; const sdmReadCtr = decryptedPiccData.slice(16, 22); const sv2 = "3cc300010080" + uid + sdmReadCtr;