/* Ċ Ġ* ĠCopyright Ġ 2 0 2 2 ĠApp mat t us ĠLimited Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . app mat t us . crypto . internal Ċ Ċ import Ġcom . app mat t us . crypto . Algorithm Ċ import Ġcom . app mat t us . crypto . internal . core . sph lib . HMAC Ċ import Ġcom . app mat t us . crypto . internal . core . sph lib . SHA 1 Ċ import Ġcom . app mat t us . crypto . internal . core . sph lib . str to bin Ċ import Ġcom . app mat t us . crypto . internal . core . sph lib . test H mac Ċ import Ġcom . app mat t us . crypto . internal . core . sph lib . test H mac Hex Ċ import Ġcom . app mat t us . crypto . internal . core . sph lib . test K at Ċ import Ġkotlin . test . Test Ċ Ċ class ĠH mac SHA 1 Test Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTest ĠHMAC ĠSHA - 1 Ġimplementation . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest H mac Sha 1 () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠHMAC Ġtests Ġfrom ĠN IST Ġtest Ġdata ĊĊĠĠĠĠĠĠĠ Ġtest H mac ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlgorithm . SHA _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 A 0 B 0 C 0 D 0 E 0 F 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 A 1 B 1 C 1 D 1 E 1 F 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 A 2 B 2 C 2 D 2 E 2 F 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 3 A 3 B 3 C 3 D 3 E 3 F ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Sample Ġmessage Ġfor Ġkey len = block len ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 5 FD 5 9 6 EE 7 8 D 5 5 5 3 C 8 FF 4 E 7 2 D 2 6 6 DF D 1 9 2 3 6 6 DA 2 9 " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġtest H mac ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlgorithm . SHA _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 A 0 B 0 C 0 D 0 E 0 F 1 0 1 1 1 2 1 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Sample Ġmessage Ġfor Ġkey len < block len ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 C 9 9 FF 0 CB 1 B 3 1 BD 3 3 F 8 4 3 1 DB AF 4 D 1 7 F CD 3 5 6 A 8 0 7 " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġtest H mac ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlgorithm . SHA _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 A 0 B 0 C 0 D 0 E 0 F 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 A 1 B 1 C 1 D 1 E 1 F 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 A 2 B 2 C 2 D 2 E 2 F 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 3 A 3 B 3 C 3 D 3 E 3 F 4 0 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 4 A 4 B 4 C 4 D 4 E 4 F 5 0 5 1 5 2 5 3 5 4 5 5 5 6 5 7 5 8 5 9 5 A 5 B 5 C 5 D 5 E 5 F 6 0 6 1 6 2 6 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Sample Ġmessage Ġfor Ġkey len = block len ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 2 D 5 1 B 2 F 7 7 5 0 E 4 1 0 5 8 4 6 6 2 E 3 8 F 1 3 3 4 3 5 F 4 C 4 FD 4 2 A " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ/* Ċĉĉ Ġ* ĠFrom ĠF IPS Ġ 1 9 8 a . Ċĉĉ Ġ*/ ĊĠĠĠĠĠĠĠ Ġtest K at ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHMAC ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSHA 1 (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstr to bin ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 A 0 B 0 C 0 D 0 E 0 F 1 0 1 1 1 2 1 3 1 " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 1 5 1 6 1 7 1 8 1 9 1 A 1 B 1 C 1 D 1 E 1 F 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 8 2 9 2 A 2 B 2 C 2 D 2 E 2 F 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 3 A 3 B 3 " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" C 3 D 3 E 3 F " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ" Sample Ġ# 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 F 4 CA 3 D 5 D 6 8 BA 7 CC 0 A 1 2 0 8 C 9 C 6 1 E 9 C 5 DA 0 4 0 3 C 0 A " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtest K at ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHMAC ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSHA 1 (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstr to bin (" 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 3 A 3 B 3 C 3 D 3 E 3 F 4 0 4 1 4 2 4 3 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ" Sample Ġ# 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 9 2 2 D 3 4 0 5 FA A 3 D 1 9 4 F 8 2 A 4 5 8 3 0 7 3 7 D 5 CC 6 C 7 5 D 2 4 " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtest K at ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHMAC ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSHA 1 (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstr to bin ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ(" 5 0 5 1 5 2 5 3 5 4 5 5 5 6 5 7 5 8 5 9 5 A 5 B 5 C 5 D 5 E 5 F 6 0 6 1 6 2 6 3 6 " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 6 5 6 6 6 7 6 8 6 9 6 A 6 B 6 C 6 D 6 E 6 F 7 0 7 1 7 2 7 3 7 4 7 5 7 6 7 7 7 " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 8 7 9 7 A 7 B 7 C 7 D 7 E 7 F 8 0 8 1 8 2 8 3 8 4 8 5 8 6 8 7 8 8 8 9 8 A 8 B 8 " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" C 8 D 8 E 8 F 9 0 9 1 9 2 9 3 9 4 9 5 9 6 9 7 9 8 9 9 9 A 9 B 9 C 9 D 9 E 9 FA " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 A 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 A 9 AA AB AC AD AE AF B 0 B 1 B 2 B 3 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ" Sample Ġ# 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" B CF 4 1 E AB 8 BB 2 D 8 0 2 F 3 D 0 5 CA F 7 CB 0 9 2 E CF 8 D 1 A 3 AA " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtest K at ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHMAC ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSHA 1 (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstr to bin ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ(" 7 0 7 1 7 2 7 3 7 4 7 5 7 6 7 7 7 8 7 9 7 A 7 B 7 C 7 D 7 E 7 F 8 0 8 1 8 2 8 3 8 " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 8 5 8 6 8 7 8 8 8 9 8 A 8 B 8 C 8 D 8 E 8 F 9 0 9 1 9 2 9 3 9 4 9 5 9 6 9 7 9 " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 8 9 9 9 A 9 B 9 C 9 D 9 E 9 FA 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġ 1 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ" Sample Ġ# 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 9 EA 8 8 6 E FE 2 6 8 DB EC CE 4 2 0 C 7 5 " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠFrom ĠOpenSSL ĊĊĠĠĠĠĠĠĠ Ġtest H mac ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlgorithm . SHA _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" My Ġtest Ġdata ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 6 1 af de cb 9 5 4 2 9 ef 4 9 4 d 6 1 f dee 1 5 9 9 0 cab f 0 8 2 6 fc " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtest H mac ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlgorithm . SHA _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 3 1 3 2 3 3 3 4 3 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" My Ġtest Ġdata ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 7 dbe 8 c 7 6 4 c 0 6 8 e 3 bcd 6 e 6 b 0 fb cd 5 e 6 fc 1 9 7 b 1 5 bb " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠFrom Ġhttps :// datat rack er . ietf . org / doc / html / rfc 2 2 0 2 . html ĊĊĠĠĠĠĠĠĠ Ġtest H mac ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlgorithm . SHA _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 a 6 5 6 6 6 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" what Ġdo Ġya Ġwant Ġfor Ġnothing ?", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" eff cdf 6 ae 5 eb 2 fa 2 d 2 7 4 1 6 d 5 f 1 8 4 df 9 c 2 5 9 a 7 c 7 9 " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġtest H mac ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlgorithm . SHA _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Test ĠUsing ĠL arger ĠTh an ĠBlock - Size ĠKey Ġ- ĠHash ĠKey ĠFirst ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" aa 4 ae 5 e 1 5 2 7 2 d 0 0 e 9 5 7 0 5 6 3 7 ce 8 a 3 b 5 5 ed 4 0 2 1 1 2 " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġtest H mac ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlgorithm . SHA _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Test ĠUsing ĠL arger ĠTh an ĠBlock - Size ĠKey Ġand ĠL arger ĠTh an ĠOne ĠBlock - Size ĠData ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" e 8 e 9 9 d 0 f 4 5 2 3 7 d 7 8 6 d 6 bb aa 7 9 6 5 c 7 8 0 8 bb ff 1 a 9 1 " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmisc () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠFrom Ġhttps :// github . com / crypto - browser ify / hash - test - vectors / blob / master / hmac . json ĊĊĠĠĠĠĠĠĠ Ġtest H mac ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlgorithm . SHA _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 b 0 b 0 b 0 b 0 b 0 b 0 b 0 b 0 b 0 b 0 b 0 b 0 b 0 b 0 b 0 b 0 b 0 b 0 b 0 b ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Hi ĠThere ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" b 6 1 7 3 1 8 6 5 5 0 5 7 2 6 4 e 2 8 bc 0 b 6 fb 3 7 8 c 8 ef 1 4 6 be 0 0 " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġtest H mac Hex ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlgorithm . SHA _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 a 6 5 6 6 6 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 7 7 6 8 6 1 7 4 2 0 6 4 6 f 2 0 7 9 6 1 2 0 7 7 6 1 6 e 7 4 2 0 7 7 6 8 6 1 7 4 2 0 6 4 6 f 2 0 7 9 6 1 2 0 7 7 6 1 6 e 7 4 2 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 2 fdb 9 bc 8 9 cf 0 9 e 0 d 3 a 0 bc 1 f 1 b 8 9 ba 8 3 5 9 db 9 d 9 3 f " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġtest H mac Hex ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlgorithm . SHA _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaa ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 2 5 d 7 3 4 2 b 9 ac 1 1 cd 9 1 a 3 9 af 4 8 aa 1 7 b 4 f 6 3 f 1 7 5 d 3 " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġtest H mac Hex ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlgorithm . SHA _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 a 0 b 0 c 0 d 0 e 0 f 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 c 9 0 0 7 f 4 0 2 6 2 5 0 c 6 bc 8 4 1 4 f 9 bf 5 0 c 8 6 c 2 d 7 2 3 5 da " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġtest H mac ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlgorithm . SHA _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 c 0 c 0 c 0 c 0 c 0 c 0 c 0 c 0 c 0 c 0 c 0 c 0 c 0 c 0 c 0 c 0 c 0 c 0 c 0 c ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Test ĠWith ĠTr unc ation ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 c 1 a 0 3 4 2 4 b 5 5 e 0 7 fe 7 f 2 7 be 1 d 5 8 bb 9 3 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġtruncate Ġto Ġ 1 2 8 Ġbits ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 6 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġtest H mac ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlgorithm . SHA _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaa aa ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" This Ġis Ġa Ġtest Ġusing Ġa Ġlarger Ġthan Ġblock - size Ġkey Ġand Ġa Ġlarger Ġthan Ġblock - size Ġdata . ĠThe Ġkey Ġneeds Ġto Ġbe Ġhashed Ġbefore Ġbeing Ġused Ġby Ġthe ĠHMAC Ġalgorithm .", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 2 1 7 e 4 4 bb 0 8 b 6 e 0 6 a 2 d 6 c 3 0 f 3 cb 9 f 5 3 7 f 9 7 c 6 3 3 5 6 " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmisc 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠFrom Ġhttps :// github . com / x sc / pan de ct / blob / master / test / pan de ct / hmac _ test . cl j ĊĊĠĠĠĠĠĠĠ Ġtest H mac ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlgorithm . SHA _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 6 b 6 5 7 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" The Ġquick Ġbrown Ġf ox Ġjumps Ġover Ġthe Ġlazy Ġdog ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" de 7 c 9 b 8 5 b 8 b 7 8 aa 6 bc 8 a 7 a 3 6 f 7 0 a 9 0 7 0 1 c 9 db 4 d 9 " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Sha 1 Seq () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Output Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 6 E 8 AD 5 0 FC 1 0 3 5 8 2 3 6 6 1 D 9 7 9 E 2 9 6 8 9 6 8 CE CD 0 3 D 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 CE 3 4 DE AAD 5 CF 1 1 3 1 D 9 5 2 8 FAB 8 E 4 6 E 1 2 F 8 FE 3 0 5 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 2 3 9 2 4 8 4 9 6 4 3 D 0 3 B BE AC 7 1 7 5 5 A 8 7 8 A 8 3 BD 8 3 F 5 2 8 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 6 1 1 9 DD 9 A 7 0 2 4 A 2 3 F 2 9 3 A 3 B 6 7 E FA 2 BF 1 D 8 2 EC 0 2 2 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 3 7 9 DC 7 6 AC 2 D 3 2 2 FD 8 E 5 1 1 7 CCA 7 6 5 3 9 1 BC 0 E 1 0 9 4 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 7 8 9 7 CC 8 6 C FF 1 7 A 3 F 9 5 C 7 AF 0 2 CCA 0 3 5 4 6 F 5 CC 2 3 6 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 FA 1 EF 3 9 8 0 E 8 6 B 8 DF 2 C 8 E 7 4 4 3 0 9 3 8 1 7 2 7 ED 1 0 E 8 E ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 3 B 2 B 7 2 6 D 7 1 DAC 6 A 2 B EE 6 3 E AA 0 9 6 3 1 DA 7 8 F 5 9 5 8 B ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" B 8 CAC 4 C 1 0 4 9 9 7 A 5 4 7 3 7 4 8 0 3 B 5 8 9 8 0 5 7 B 3 F 8 1 1 0 A 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" E 1 6 5 E 0 7 F 8 D 5 4 2 FB 2 8 8 C 7 D 3 6 7 1 9 8 D 0 6 1 8 DE 3 C 9 9 1 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 8 1 2 5 F 0 4 6 C 6 7 5 F 4 3 4 B 3 C 5 3 A 2 8 C 3 0 1 FB 2 D 9 1 B 5 D 3 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" FA AB 9 9 3 F 2 FE AE 4 4 2 D 2 8 F DB B 6 1 3 D 2 C 7 6 8 ED 1 3 3 4 2 D ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" B 6 5 7 E 7 EE 3 A 6 5 C 6 4 8 4 D 0 0 7 E 2 1 4 8 4 8 1 3 D 9 A ED 1 2 6 4 C ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" EE EC 2 BB 7 BAC 1 5 8 7 4 2 7 1 1 ED 1 3 0 9 0 FA 2 0 4 6 2 A 5 E 5 C 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 2 3 6 7 F 3 A 4 E 1 5 0 1 D 3 2 D 1 7 3 1 B 3 9 CD 2 DB 2 C 5 DF 5 D 0 1 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 5 7 DD 9 DA 3 6 E 7 A 4 E 5 6 7 A 2 C 5 AE 9 F 6 2 3 0 CF 6 6 1 8 5 5 D 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" E 3 7 1 1 0 DDD 2 9 5 D 9 3 9 9 0 C 4 5 3 1 D 9 5 5 6 4 E 7 4 C 0 E BE 2 6 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" B 2 1 1 5 C 4 E 9 2 3 EC 6 4 0 E 5 B 4 B 5 0 7 F 7 BC 9 7 FE 7 0 0 E 1 2 DD ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ED 2 0 C 6 7 3 4 5 8 6 7 AB 0 7 E 9 1 7 1 B 0 6 C 9 B 3 B 2 9 2 8 F 4 3 1 8 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 6 CA 7 DFC 9 F 8 F 4 3 2 DED 4 2 E 4 E FE 9 F 2 D 7 0 D 8 2 5 0 7 8 0 2 D ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" B 3 9 EB 4 D 2 C 1 9 0 E 0 CE 8 FA 2 C 9 9 4 E 9 2 D 1 8 CF BCD 8 F 7 3 6 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 9 1 BE 5 AB F 1 B 3 5 F 6 2 2 7 7 7 2 E 3 6 3 3 7 F 2 5 8 4 2 0 CF 5 1 3 1 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" EB 9 5 7 1 9 9 EF 6 6 6 C 6 D 0 E ACC 6 4 FC 4 2 6 1 D 1 1 C 7 1 5 BB 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 2 A 1 8 D 8 D 4 AB 1 F 8 C 5 2 8 C 9 D 3 6 8 BF 5 A 7 C FF C 2 1 6 8 D 0 6 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" D 4 DC 3 7 0 D 4 8 2 D 8 2 9 3 2 7 0 1 DF 8 CE AC 9 3 3 7 6 8 2 C 2 5 5 1 B ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" DB 9 6 6 5 A 6 A 2 6 DB DE 2 0 2 3 8 F 0 4 E 9 F 1 A 3 6 8 D 2 6 5 6 4 E 4 F ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" D 5 AE 2 1 2 C 9 E 5 4 3 F 2 6 5 6 6 9 9 B 5 9 DE ED 5 4 CA AC A 9 A 0 7 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" BE 8 8 9 0 F 9 DEC 6 A 0 2 AE 2 8 4 8 D 8 5 0 5 B 6 4 0 8 E 8 8 4 E 6 D 1 A ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" E 8 D 9 DD 9 FA A 3 0 8 0 5 6 0 B 0 E DE 7 9 8 B 7 4 5 F EE 2 A 1 E 5 4 7 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" E 2 1 9 2 1 9 D 2 CB 8 C 3 6 3 C 2 6 8 7 F 5 7 8 4 4 6 ADE 1 C 0 4 0 4 2 8 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" E 8 E 7 7 6 7 B 3 5 ED 8 D 0 9 6 5 F 6 8 2 7 2 ACE 6 1 9 2 4 CB 0 4 4 2 6 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 B 2 6 6 8 9 C 1 EF 5 5 4 4 8 A 6 1 D FA EF 9 8 B 6 E 7 2 0 6 A 9 6 7 5 EA ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" FE 8 5 0 3 9 0 8 6 4 E 9 8 A 1 7 FC 4 3 C 3 C 8 7 1 3 8 3 1 6 9 7 4 1 B 4 6 D ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 3 F 6 3 0 6 8 D 5 3 6 A 2 8 2 C 5 3 E 5 C 0 0 3 B CE EC 9 6 6 4 6 CF 7 4 5 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 2 9 6 2 C 2 9 2 CE 2 4 7 F 1 1 AC B 7 E 1 F 9 8 1 4 4 7 C 5 1 E 9 B BE 6 3 C ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" B 2 8 9 0 9 A 2 B 7 B 2 E 0 E 1 3 F DC B 1 1 2 4 B 0 B DC 3 1 D 7 D 2 FE DE ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 8 DA 0 FC 3 0 C 8 3 2 2 D AB D 6 7 D 6 1 E 8 2 FC 9 2 3 5 1 8 9 4 7 8 9 AC ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 5 4 3 DAC 6 D 4 4 9 FE 2 DDC 3 2 0 1 9 2 7 D 0 8 6 9 5 F 6 8 F 8 3 2 9 0 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 3 7 1 5 4 0 F 3 0 9 2 F 7 7 8 6 7 F 0 CA 9 DA 6 9 3 1 8 C 7 6 7 3 F 6 8 3 8 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 7 E AF 3 2 2 0 4 EA 5 9 9 3 C 8 7 E 9 A 1 2 C 6 7 ADA 4 C 8 5 D 2 5 3 2 8 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" FC 4 9 9 4 B AA 0 5 F 5 9 2 9 0 1 0 8 5 ED 7 DA 1 8 8 EC 3 A 9 BF 3 6 E 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" EB FE 7 7 5 9 2 EF 3 4 E 8 1 B DA 0 5 3 0 5 8 7 6 4 1 1 4 8 4 DC 0 7 4 4 F ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 2 5 F 6 4 E 8 F 0 7 6 3 0 5 D 6 F 5 7 4 1 EA 5 8 2 3 2 F 6 8 B 7 2 5 B 8 F 6 E ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 5 DB A 0 3 F 7 E 4 B 4 2 2 6 6 6 6 F 0 D 8 D 5 BF 4 9 F EE 7 7 9 5 1 D 1 2 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 9 8 E 1 D 5 6 D 7 2 3 DC AC F 2 2 7 D 2 AC 6 7 BF 2 D 6 E 7 FD 0 1 3 4 9 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 5 3 5 5 0 BC 5 5 A 3 6 7 D 8 7 4 1 6 FF A 2 5 2 6 1 3 6 2 E 7 D 4 6 1 8 DA 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" B 1 8 4 3 4 B CCCC 5 F 0 8 B 3 5 3 9 7 C 1 A 6 6 8 4 D 6 0 F 4 F 3 A 4 5 2 F ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" FF 2 BF 3 8 DFC 6 9 0 9 B 4 6 A 0 1 E 0 5 5 D 1 7 3 F 6 7 A 7 E 4 5 6 3 4 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" DA FA 4 4 5 4 3 2 ED 3 7 FE C 9 9 0 5 9 DB 8 A 0 BC 5 2 8 E 7 8 8 E 9 5 D ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 7 FF 8 2 3 C 5 7 0 F 8 B 4 C 0 E 4 8 3 1 6 5 C 0 7 6 AE A 7 B 5 E 7 2 7 6 3 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" BC 4 FC 9 4 8 AB 6 2 1 FE 1 4 1 9 CF 6 0 0 6 DC 0 4 E 7 D 7 B 3 2 FA 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 6 7 8 AF CC 3 F BD 1 0 6 3 E 7 C 8 2 CAC AD 5 B 6 A 9 3 3 A 9 3 0 9 1 A ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 9 7 DC 2 F 9 F 5 6 7 3 8 F DA FFD 5 5 5 BF 0 9 2 7 4 1 5 3 FC 2 FD 0 0 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 7 4 F 5 CB 4 F 0 9 0 0 4 4 1 B 7 AFF C 2 7 8 C 0 1 A 3 0 3 8 DF 3 D 6 0 C 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 2 1 F 6 6 1 4 3 2 7 0 C 9 D 5 8 F 2 6 AB 1 9 3 DB A 8 1 A 8 1 1 9 1 7 CBC ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" F 4 8 6 D 1 C 8 1 2 7 8 1 3 F EE EA 8 A 6 9 3 C 4 B 8 E CB 5 BB 5 3 C 3 A 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 8 3 9 7 C AB 8 E ED 5 B 2 1 6 4 FE C 6 BE 6 8 8 9 7 1 D FA 2 1 3 8 9 3 4 E ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" E 4 4 7 7 CE 9 BF 8 CC 5 A 4 CC DE 0 3 9 B 4 E 3 0 0 0 F 1 A 0 F 4 1 5 3 A ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" D 6 D 2 D 1 E 3 EE 4 D 6 4 3 AC 4 B 3 8 8 3 6 AE 5 4 E 8 4 6 F 9 9 B 3 7 6 D ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 9 5 4 5 B 2 C 6 2 7 9 3 7 1 D 4 D 9 2 8 A EE 2 4 3 2 8 1 2 1 D 4 3 DE 1 E 5 E ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 9 4 7 ED 3 8 EC 0 8 7 C 4 E 5 3 F 4 1 7 E 8 2 1 6 4 0 8 8 6 3 A 8 EB FC B 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 3 2 5 1 8 A 2 3 2 6 AC DE 1 E 9 6 2 B 3 D 0 D 2 BF 9 5 0 F 3 1 8 8 9 4 E 8 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 5 D 2 1 D 3 6 8 FB 9 D 8 7 9 ADC 2 7 B 3 4 1 D 6 0 8 B CF 8 6 0 AB 1 4 F 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" E 2 B ED D 9 4 D 5 6 5 A 5 1 9 1 5 B 1 EC 6 FA 9 DE 1 8 C 6 2 D 1 2 5 3 3 A ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 5 AB F 6 5 7 DB 6 4 7 3 C 9 E 2 F 0 1 7 C 7 A 2 F 4 DB A 3 CE 7 F 3 3 DD ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 C 9 DA F 8 D 9 5 9 DA E 3 B 6 6 FF 8 A 2 1 A 9 4 BA FC 5 2 3 ABC 4 6 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" A 3 6 BE 7 2 B 5 0 1 D 4 3 5 CB 6 2 7 C 4 5 5 5 A 4 2 6 C 4 AD AF 3 D 6 6 6 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 C 1 7 1 9 7 9 D 6 7 A 0 1 4 A 0 4 2 2 D 6 C 3 5 6 1 C 8 1 7 A 3 5 4 CF 6 7 D ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" B 7 5 4 8 5 B 0 8 ED 0 5 2 A 1 F 4 C 3 BAC CE 3 C 5 6 3 DF 4 BA 8 2 4 1 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 7 2 9 7 6 2 4 2 1 9 C 5 9 5 5 B 3 AF 8 1 E 5 ED 6 1 C 6 A 5 D 0 5 BD 5 4 D ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 3 8 A 9 AC 8 5 4 4 F 0 EF 2 4 A 6 2 3 4 3 3 C 0 5 E 7 F 0 6 8 4 3 0 DA 1 3 E ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 E 9 EEE AD 7 3 E 7 3 6 D 7 B 4 F 5 ABB 8 7 BA 0 FAB A 6 2 3 FB 2 E 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 B 9 D 5 9 8 7 9 E AC 8 0 E 4 D AB 3 5 3 7 E 9 CA 9 A 8 7 7 F 7 FA E 6 6 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 7 F 7 6 F 2 F 8 7 5 B 2 6 7 4 B 8 2 6 C 1 8 B 1 1 8 9 4 2 F BF 1 E 7 5 BE 5 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 7 1 6 A 7 8 0 4 A 9 A 5 ABC 9 E 7 3 7 B DF 5 1 8 9 F 2 7 8 4 CE 4 F 5 4 B ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 6 8 0 2 7 ED F 2 A 2 6 4 1 F 3 6 4 AF 5 DF 1 CB 2 7 7 A 6 E 9 4 4 EA 3 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" F BC 6 7 DED 8 C 1 A 1 BE BB BC 9 7 4 E 4 7 8 7 D 2 BA 3 2 0 5 F 2 B 1 B ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 3 3 DD 2 6 C 5 3 F 3 9 1 4 FE CF 2 6 D 2 8 7 E 7 0 E 8 5 D 6 9 7 1 C 3 C 4 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 9 7 9 0 6 2 6 8 2 8 6 CD 3 8 E 9 C 7 A 2 FA F 6 8 A 9 7 3 1 4 3 D 3 8 9 B 2 F ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 5 C 5 5 9 4 8 D 3 E 0 6 2 F 8 6 1 2 EC 9 8 F EE 9 1 1 4 3 AB 1 7 B CF C 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" AE 1 3 3 7 C 1 2 9 DF 6 5 5 1 3 4 8 0 E 5 7 E 2 A 8 2 B 5 9 5 0 9 6 BF 5 0 F ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" CE C 4 B 5 3 5 1 F 0 3 8 EB CF DA 4 7 8 7 B 5 DE 4 4 ED 8 DA 3 0 CD 3 6 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 6 1 5 6 A 6 7 4 2 D 9 0 A 2 1 2 A 0 2 E 3 A 7 D 4 D 7 4 9 6 B 1 1 AB CF C 3 C ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 3 0 4 0 F 0 7 2 DF 3 3 E BF 8 1 3 DA 5 7 6 0 C 6 EB 4 3 3 2 7 0 F 3 3 E 8 E ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" EE 1 B 0 1 5 C 1 6 F 9 1 4 4 2 BAD 8 3 E 1 F 5 1 3 8 BD 5 AF 1 EB 6 8 E 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" A 9 2 9 C 6 B 8 FD 5 5 9 9 D 1 E 2 0 D 6 A 0 8 6 5 C 1 2 7 9 3 FD 4 E 1 9 E 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" C 0 BF B 5 D 2 D 7 5 FB 9 FE 0 2 3 1 EA 1 F CE 7 BD 1 F DA F 3 3 7 EE 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" AB 5 F 4 2 1 A 2 2 1 0 B 2 6 3 1 5 4 D 4 D ABB 8 DB 5 1 F 6 1 F 8 0 4 7 DB ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 B 8 F 5 3 4 6 E 3 F 0 5 7 3 E 9 C 0 C 9 2 9 4 DD 5 5 E 3 7 B 9 9 9 D 9 6 3 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 9 D AA 9 5 9 E 5 A 0 0 ED C 1 0 1 2 1 F 2 4 5 3 8 9 2 1 1 7 DD 3 9 6 3 AF ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" AC B 6 DA 4 2 7 6 1 7 B 5 CD 6 9 C 5 B 7 4 5 9 9 D 0 5 0 3 B 4 6 FC 9 E 4 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 9 E 1 BB 6 8 B 5 0 BD 4 4 1 FB 4 3 4 0 DA 5 7 0 0 5 5 BB F 0 5 6 F 7 7 A 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" D 3 E 0 C 8 E 0 C 3 0 B CB 9 0 1 7 E 7 6 F 9 6 EE C 7 0 9 BF 5 F 2 6 9 7 6 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" BE 6 1 BB 1 BC 0 0 A 6 BE 1 CF 7 E FE 5 9 C 1 B 9 4 6 7 D 4 1 4 CF 6 4 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 9 D 6 9 3 B 5 2 2 6 6 A 2 8 3 3 E CA 2 BB 9 2 9 F BF 4 F CE 6 9 1 A 5 C 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" B 9 9 8 1 6 8 8 6 D 9 FE 4 3 3 1 3 3 5 8 D 6 8 1 5 2 3 1 E 5 0 C 3 B 6 2 B 0 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 7 A 7 3 EE 3 F 1 CF 1 8 B 5 E 2 0 0 6 A 2 0 BB 9 E 0 9 8 E 9 8 B 6 5 1 3 CA ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" DEC 6 2 0 F 0 0 8 EF 6 5 A 7 9 0 A 7 D 1 1 3 9 ACE 6 E 8 B 8 EF CCA 5 E ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" B 6 BA 0 E BD 2 1 5 CF 1 B 3 5 7 4 2 A 4 1 EB 8 1 A 2 6 9 AC B 6 7 C 9 A 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 3 A 0 FA AD 1 4 D 3 B 6 4 BE 4 ED B 9 D 5 1 0 9 DC 0 5 D FF A 7 6 8 0 E 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 2 E 6 2 CE 5 3 2 8 3 B 5 4 2 2 D 3 EA 5 D 8 D 0 0 BC 7 F 0 AE 8 A 1 2 7 C ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" AA 3 6 F 0 CC 6 B 5 0 AB 3 0 2 8 6 BA 5 2 B CB 9 BB 5 C 1 BD 6 7 2 D 6 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 5 5 1 2 0 C 6 8 B 4 1 9 FE 5 E 1 2 DB 5 2 6 D 4 AB FC 8 4 8 7 1 E 5 DEC 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 3 7 2 BF 9 2 A 9 A 2 5 0 7 5 0 9 C 3 D 3 9 3 2 B 3 2 4 4 4 B 7 BE 1 C 9 BAC ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 7 AB 4 B 0 4 EE C 0 9 1 F 4 ADA 0 8 0 7 DDD 7 4 3 6 0 9 BCD 8 9 8 4 0 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 2 0 CB 4 1 2 4 2 5 E 8 8 4 8 2 E 7 D 1 8 4 E FE F 7 9 5 7 7 BE 9 7 B AF DA ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" DEB 9 1 3 9 9 A 7 BF B 8 3 2 3 BC 8 E 6 A 5 F 4 0 4 5 1 2 5 2 7 7 C 1 3 3 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 6 7 6 9 F 4 1 6 2 4 E 5 5 3 B 3 0 9 2 F 5 E 6 3 9 0 E 4 D 9 8 3 B 8 5 1 C 9 8 C ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 7 1 6 7 6 0 E 4 F 9 9 B 5 9 E 9 0 A 4 F 9 1 4 E 1 FB 7 2 A 6 D 2 C 4 B 6 0 7 A ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" DA 0 AA 5 5 4 8 B 5 C 0 AF 0 CC 4 9 4 F 3 4 C AB 6 6 2 A 3 0 3 7 2 DD 1 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 7 A 0 E 2 CA 5 EF 6 6 6 EB 3 4 E 2 ED 9 C 1 0 E BC 5 DD CD 0 D 9 BBB ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 B 3 6 1 4 AF 7 4 9 EE 3 5 9 F 6 4 F 3 BE 3 6 5 0 2 1 0 CC 3 C 3 4 9 8 ED ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 3 4 6 E 6 0 4 6 2 2 CF 8 D 6 B 7 D 0 3 B 9 FE 7 4 E 7 A 6 8 4 AE CCA 9 9 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 6 2 9 E 4 6 8 8 2 D 2 1 4 F 9 BD 7 8 4 1 8 C 2 A 9 7 9 0 0 B 2 0 4 9 F 1 C 8 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 7 6 5 F 8 6 1 1 4 E 9 4 2 2 1 4 E 0 9 9 E 6 8 4 E 7 6 E 9 4 F 9 5 E 2 7 9 5 6 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 0 2 ED 5 7 8 F 7 9 0 9 4 B 3 D 7 E 2 8 CC 3 B 0 6 CD 2 3 0 1 6 3 F 1 5 8 6 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 5 2 CC 9 7 4 8 7 7 8 AF 5 C 8 E 8 B 4 1 F 9 B 9 4 8 AB CE CF 4 4 6 BE 9 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 9 3 2 6 1 9 0 BF 3 A 1 5 A 0 6 0 B 1 0 6 B 1 6 0 2 C 7 A 1 5 9 E 2 8 7 FD 4 C ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 8 A 5 DF BA E 6 E 7 C 9 4 1 8 9 7 3 D 1 8 9 0 5 A 8 9 1 5 D CE F 7 B 9 5 B ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 6 D 2 5 BF 1 E 8 F 1 2 4 4 AC B 6 9 9 8 AA 7 B 1 CB 0 9 F 3 6 6 6 2 F 7 3 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 5 F 9 8 0 6 C 0 C 1 A 8 2 CE A 6 6 4 6 5 0 3 F 6 3 4 A 6 9 8 1 0 0 A 6 6 8 5 D ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" C 3 3 6 2 CE 6 1 2 1 3 9 2 9 0 4 9 2 2 2 5 D 9 6 AB 3 3 B 2 AD FF 7 AF 1 E ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 3 D 4 2 A 5 C 1 EA FC 7 2 5 FF 0 9 0 7 B 6 0 0 4 4 3 EE F 7 0 E 9 B 8 2 7 E ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 7 FF 9 7 FF C 5 D 4 F 4 0 6 5 0 D 7 A 7 E 8 5 7 E 0 3 C 5 D 7 6 ED D 6 7 6 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 3 A 9 2 F 2 A 1 8 E 8 F 5 9 3 E 6 A 8 2 8 7 9 2 1 E 1 5 E 2 9 1 4 DF 6 5 1 EF ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" C DE 6 F 2 F 5 8 1 6 6 2 8 5 3 9 0 B 7 1 6 4 0 A 1 9 BD 8 3 CA 6 0 5 C 9 4 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 2 1 A 2 2 7 A 8 DA 7 A 9 F 5 D 1 5 C 4 1 3 5 4 1 9 6 D 7 9 FE 5 2 4 DE 6 F 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" E BE 9 3 AB 4 4 1 4 6 6 2 1 BA AB 4 9 2 8 2 3 A 7 4 2 1 0 D 3 E 9 FD 3 5 C ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 6 5 6 0 BD 2 C DE 7 4 0 3 0 8 3 5 2 7 E 5 9 7 C 6 0 9 8 8 BB 1 EB 2 1 FF 1 " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġkey Ġ= ĠByteArray ( 2 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . to Byte () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpected Output . forEach Indexed Ġ{ Ġindex , Ġoutput Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest H mac ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAlgorithm . SHA _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠByteArray ( index ) Ġ{ Ġit . to Byte () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= Ġstr to bin ( output ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ