Bit operation

    $ShowBits(0x80);                             // 1000 0000

    $ShowBits(0x1122334455);                     // 0001 0001 0010 0010 0011 0011 0100 0100 0101 0101 

    $BinaryToHexString($And(0xDD55, 0x8555), U); // 85 55

    $ShowBits($And(0xDD55, 0x8455));             // 1000 0100 0101 0101

    $BinaryToHexString($Or(0xDD55, 0x8555), L);  // dd 55  

    $ShowBits($Or(0xDD55, 0x8455));              // 1101 1101 0101 0101 

    $BinaryToHexString($Xor(0xDD55, 0x8455), U); // 59 00  

    $ShowBits($Xor(0xDD55, 0x8455));             // 0101 1001 0000 0000 

    $BinaryToHexString($Not(0xDD55), U);         // 22 AA 

    $ShowBits($Not(0xDD55));                     // 0010 0010 1010 1010

    $BinaryToHexString(0xaa + 0xbb + 0xcc + 0xdd, U); // AA BB CC DD 

    $BinaryToHexString($TruncatedBinary(0x112233445566, 1), U); // 22 33 44 55 66 

    $BinaryToHexString($TruncatedBinary(0x112233445566, 1, 2), U); // 22 33 

    // 09 09 09 09 
    $BinaryToHexString($BinryStringToBinaryData("00001001 00001001 00001001 00001001"), U); 

Grnerate random data

    $Rand(10, "N"); // 1341926083 (numbers)
    $Rand(10, "C"); // DHDWKWHNKG (Upper case letters)
    $Rand(10, "c"); // poimsmftue (lower case letters)
    $Rand(10, "H"); // 8479D1E857 (Upper case HEX letters)
    $Rand(10, "h"); // 929738cd76 (lower case HEX letters)
    $Rand(10, "O"); // $^+,=@#&_{ (Other characters)

    // 2577020229, WRDLRIJLZH, mzjikiobko, 3C948D6A06, 156d778ff5, @#;;])_(+;
    $Rand(10, "N") + ", " + 
    $Rand(10, "C") + ", " + 
    $Rand(10, "c") + ", " + 
    $Rand(10, "H") + ", " + 
    $Rand(10, "h") + ", " + 
    $Rand(10, "O") ;

    $Rand(30, "OH"); // C775(##6}150(;@^,-,_50~;72}C]4

    // Test math expression calculation
    $Rand((2 + 3) * 6 + 12 % 18, "N");    // 190451752702755650095790996097799998847187 (43 characters)
    $Rand(42 % 18, "N");                  // 551017 (6 characters)
    $Rand(((2 + 3) * 6 + 12) % 18, "N");  // 877706 (6 characters)
    $Rand((2 + 3) * (4 + 5), "N");        // 969084033921069388124392023096650735569083511 (45 characters)
    $Rand((2 + 3) * 6 / 12 % 18, "N");    // 35 (2 characters)

Hex format

    // /* The string style format */
    // "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xAA\xBB\xCC\xDD\xEE\xFF\x00\x11\x22\x33\x44\x55\x66
    //     \x77\x88\x99\xAA\xBB\xCC\xDD\xEE\xFF\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xAA"
    // /* The array style format */
    // {
    // 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF, 
    // 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF, 
    // 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA
    // }

    $HexStringFormat("00112233445566778899aabbccddeeff001122334455
        66778899aabbccddeeff00112233445566778899aa");

    //00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff 
    //00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff 
    $BinaryToHexString(0x00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff, L, 32, true);

    // 00112233445566778899aabbccddeeff
    // 00112233445566778899aabbccddeeff
    $BinaryToHexString(0x00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff, L, 32, false);

    // 00 11 22 33 44 55 66 77 
    // 88 99 aa bb cc dd ee ff 
    // 00 11 22 33 44 55 66 77 
    // 88 99 aa bb cc dd ee ff 
    $BinaryToHexString(0x00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff, L, 16, true);

    // 0011223344556677
    // 8899aabbccddeeff
    // 0011223344556677
    // 8899aabbccddeeff
    $BinaryToHexString(0x00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff, L, 16, false);

String data

    $BinaryToHexString($BinaryData()->b, U); 
    $BinaryToHexString($BinaryData(NULL)->b, U); 

    $BinaryToHexString($GetStringBytes($StringData("我爱你中国", UNICODE)->s), U); // 11 62 31 72 60 4F 2D 4E FD 56 
    $BinaryToHexString($GetStringBytes($StringData("我爱你中国", MBCS)->s), U);    // CE D2 B0 AE C4 E3 D6 D0 B9 FA 
    $BinaryToHexString($GetStringBytes($StringData("我爱你中国", UTF8)->s), U);    // E6 88 91 E7 88 B1 E4 BD A0 E4 B8 AD E5 9B BD 

    $BinaryToString(0xCED2B0AEC4E3D6D0B9FA, MBCS);                         // 我爱你中国
    $BinaryToString(0x11623172604F2D4EFD56, UNICODE);                      // 我爱你中国
    $BinaryToString(0xE68891E788B1E4BDA0E4B8ADE59BBD, UTF8);               // 我爱你中国
    $BinaryToString(0xE6 88 91 E7 88 B1 E4 BD A0 E4 B8 AD E5 9B BD, UTF8); // 我爱你中国
    $BinaryToString(0xce d2 b0 ae c4 e3 d6 d0 b9 fa, MBCS);                // 我爱你中国
    $BinaryToString(0x11623172604f2d4efd56, UNICODE);                      // 我爱你中国
    $BinaryToString(0xe68891e788b1e4bda0e4b8ade59bbd, UTF8);               // 我爱你中国

Read and write file

    $BinaryToHexString($ReadFile("D:\Document\1.txt", 10, 2 + 16 * 10), U);       // 从偏移位置为162的地方读取10字节。
    $WriteFile("D:\Document\1.txt", 0x41, 0);                                     // 从偏移位置为0的地方写入一个'A'字符
    $WriteNewFile("D:\Document\1.txt", 0x11223344);                               // 新建1.txt,并写入0x11223344
    $WriteNewFile("D:\Document\2.txt", $ReadFile("D:\Document\1.txt", 10, 10-3)); // 从1.txt偏移为7的地方读取10字节,然后写入到2.txt

$Inc

    $BinaryToHexString($Inc(0x0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 FF), U);    // 0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 02 00 
    $BinaryToHexString($Inc(0x0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 FF, 1), U); // 0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 02 00
    $BinaryToHexString($Inc(0x0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 FF, 2), U); // 0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 02 01 

Non-Cryptographic checksums

    {
        $BinaryToHexString($Checksum("CRC32",   $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Checksum("Adler32", $FileData("D:\Document\1.txt")), L);
    }
    
    {
        $BinaryToHexString($Checksum("CRC32",   $StringData("zhangluduo", MBCS)), L);    // f7 db ae 80 
        $BinaryToHexString($Checksum("CRC32",   $StringData("zhangluduo", MBCS), 1), L); // f7 db ae 80 
    
        $BinaryToHexString($Checksum("CRC32",   $StringData("zhangluduo", MBCS), 2), L); // 66 15 39 94 
    
        $BinaryToHexString($Checksum("Adler32", $StringData("zhangluduo", MBCS)), L);    // 17 5f 04 42 
        $BinaryToHexString($Checksum("Adler32", $StringData("zhangluduo", MBCS), 1), L); // 17 5f 04 42 
    
        $BinaryToHexString($Checksum("Adler32", $StringData("zhangluduo", MBCS), 2), L); // 01 C7 00 BD 
    }

Binary to text encoders and decoders

    // base32------------------ 

    // PJUGC3TH
    // NR2WI5LP
    $BinaryToString($Encoding("Base32", $StringData("zhangluduo", MBCS), $BinaryData(NULL),"LineSize:8")->b, MBCS); 
    $Encoding("Base32", $StringData("zhangluduo", MBCS), $StringData("", MBCS),"LineSize:8");

    // PJUGC3THNR2WI5LP
    $BinaryToString($Encoding("Base32", $StringData("zhangluduo", MBCS), $BinaryData(NULL))->b, MBCS);

    // PJUGC3TH
    // NR2WI5LP
    $Encoding("Base32", $StringData("zhangluduo", MBCS), $StringData("", MBCS),"LineSize:8");

    $BinaryToString($Encoding("Base32", $FileData("D:\Document\1.txt"), $BinaryData(NULL),"LineSize:76")->b, MBCS); 
    $BinaryToString($Encoding("Base32", $StringData("zhangluduo", MBCS), $BinaryData(NULL),"LineSize:8")->b, MBCS);
    

    $Encoding("Base32", $StringData("zhangluduo", MBCS), $FileData("C:\X\b64.txt"),"LineSize:8");
    $Encoding("Base32", $FileData("D:\Document\1.txt"), $FileData("D:\Document\2.txt"),"LineSize:76");

    $Encoding("Base32", $FileData("D:\Desktop\1.txt"), $FileData("D:\Desktop\2.txt"));
    $Encoding("Base32", $FileData("D:\Desktop\1.txt"), $FileData("D:\Desktop\2.txt"), "LineSize:76");

    $Decoding("Base32", $FileData("D:\Document\2.txt"), $FileData("D:\Document\3.txt"));
    $Decoding("Base32", $StringData("PJUGC3THNR2WI5LP", MBCS), $StringData("", MBCS));

    // base64------------------ 

    // emhhbmds
    // dWR1bw==
    $BinaryToString($Encoding("Base64", $StringData("zhangluduo", MBCS), $BinaryData(NULL),"LineSize:8")->b, MBCS); 

    // emhhbmdsdWR1bw==
    $BinaryToString($Encoding("Base64", $StringData("zhangluduo", MBCS), $BinaryData(NULL))->b, MBCS); 
    $Encoding("Base64", $StringData("zhangluduo", MBCS), $StringData("", MBCS),"LineSize:8");

    $BinaryToString($Encoding("Base64", $FileData("D:\Document\1.txt"), $BinaryData(NULL),"LineSize:76")->b, MBCS); 
    $BinaryToString($Encoding("Base64", $StringData("zhangluduo", MBCS), $BinaryData(NULL),"LineSize:8")->b, MBCS);
    

    $Encoding("Base64", $StringData("zhangluduo", MBCS), $FileData("C:\X\b64.txt"),"LineSize:8");
    $Encoding("Base64", $FileData("D:\Document\1.txt"), $FileData("D:\Document\2.txt"),"LineSize:76");

    $Encoding("Base64", $FileData("D:\Desktop\1.txt"), $FileData("D:\Desktop\2.txt"));
    $Encoding("Base64", $FileData("D:\Desktop\1.txt"), $FileData("D:\Desktop\2.txt"), "LineSize:76");

    $Decoding("Base64", $FileData("D:\Document\2.txt"), $FileData("D:\Document\3.txt"));
    $Decoding("Base64", $StringData("emhhbmdsdWR1bw==", MBCS), $StringData("", MBCS));

    // base58------------------ 
    //ZiCa
    $Encoding("Base58", $StringData("abc", MBCS), $StringData(MBCS));

    //abc
    $Decoding("Base58", $StringData("ZiCa", MBCS), $StringData(MBCS));

    // 1ZiCa
    $Encoding("Base58", $BinaryData(0x00 61 62 63), $StringData(MBCS));

    // 00 61 62 63
    $BinaryToHexString($Decoding("Base58", $StringData("1ZiCa", MBCS), $BinaryData())->b, U);

Hash functions

    {
        $BinaryToHexString($Hash("MD2",         $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("MD4",         $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("MD5",         $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("Ed2k",        $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("SHA1",        $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("SHA224",      $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("SHA256",      $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("SHA384",      $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("SHA512",      $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("Tiger",       $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("Whirlpool",   $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("RIPEMD-128",  $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("RIPEMD-160",  $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("RIPEMD-256",  $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("RIPEMD-320",  $FileData("D:\Document\1.txt")), L);
    
        $BinaryToHexString($Hash("SHA3-224",    $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("SHA3-256",    $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("SHA3-384",    $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("SHA3-512",    $FileData("D:\Document\1.txt")), L);
    
        $BinaryToHexString($Hash("MD6-224",     $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("MD6-256",     $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("MD6-384",     $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($Hash("MD6-512",     $FileData("D:\Document\1.txt")), L);
    
        $BinaryToHexString($Hash("sm3",         $FileData("D:\Document\1.txt")), L);
    }
    
    {
        $BinaryToHexString($Hash("MD2",  $StringData("张鲁夺", UNICODE)), L);            // 28 d7 a0 d2 49 de 4d fd 93 03 b8 99 44 de da 78 
        $BinaryToHexString($Hash("MD2",  $BinaryData(0x20 5F 81 9C 3A 59)), L);          // 28 d7 a0 d2 49 de 4d fd 93 03 b8 99 44 de da 78 
        $BinaryToHexString($Hash("MD2",  $StringData("张鲁夺", UTF8)), L);               // e2 52 0e ce e2 9f c1 44 c7 10 c3 53 90 86 81 19 
        $BinaryToHexString($Hash("MD2",  $BinaryData(0xe5 bc a0 e9 b2 81 e5 a4 ba)), L); // e2 52 0e ce e2 9f c1 44 c7 10 c3 53 90 86 81 19 
        $BinaryToHexString($Hash("MD2",  $StringData("张鲁夺", MBCS)), L);               // 64 86 e9 cf 95 17 ad 98 1c 32 d8 cf b5 0a 72 81 
        $BinaryToHexString($Hash("MD2",  $BinaryData(0xd5 c5 c2 b3 b6 e1)), L);          // 64 86 e9 cf 95 17 ad 98 1c 32 d8 cf b5 0a 72 81 
    }

    {
        $BinaryToHexString($Hash("MD2",         $StringData("zhangluduo", MBCS), 1), U); // 43 CF C2 A1 05 3E 21 DD E3 58 76 06 A6 D6 BD EB 
        $BinaryToHexString($Hash("MD2",         $StringData("zhangluduo", MBCS), 2), U); // 2C 79 AC DF D8 62 D8 1C 70 D3 86 D0 1D C7 1F 57 
        $BinaryToHexString($Hash("MD4",         $StringData("zhangluduo", MBCS), 1), U); // 59 08 D7 47 DA B0 4B 22 DA 9F 5F 62 EE 63 8E 5D 
        $BinaryToHexString($Hash("MD4",         $StringData("zhangluduo", MBCS), 2), U); // 6A 9F 43 84 E1 7E 9E B6 83 9F B7 0B 98 F6 87 D9 

        $BinaryToHexString($Hash("MD5",         $StringData("zhangluduo", MBCS), 1), U); // BF 55 7B 98 EB 37 FD F8 67 D0 DC 5E D5 97 70 D2 
        $BinaryToHexString($Hash("MD5",         $StringData("zhangluduo", MBCS), 2), U); // 4D 13 6F 46 40 CA 9D 55 C9 F5 1C 91 79 9B 21 3E 
        $BinaryToHexString($Hash("MD5",         $BinaryData($Hash("MD5",$StringData("zhangluduo", MBCS)))), U);

        $BinaryToHexString($Hash("Ed2k",        $StringData("zhangluduo", MBCS), 1), L); // 59 08 d7 47 da b0 4b 22 da 9f 5f 62 ee 63 8e 5d 
        $BinaryToHexString($Hash("Ed2k",        $StringData("zhangluduo", MBCS), 2), L); // 6a 9f 43 84 e1 7e 9e b6 83 9f b7 0b 98 f6 87 d9 
        $BinaryToHexString($Hash("SHA1",        $StringData("zhangluduo", MBCS), 1), U); // 13 56 06 51 9C 59 45 4C BE 7A 1D 17 C7 F8 E6 03 79 81 D9 3D 
        $BinaryToHexString($Hash("SHA1",        $StringData("zhangluduo", MBCS), 2), U); // 5D EC 01 2A 06 BB FA 91 AC 31 5F FE 42 0A D9 27 CB FC 72 DE 
        $BinaryToHexString($Hash("SHA224",      $StringData("zhangluduo", MBCS), 1), U); // 72 12 B9 0B D4 EF 65 6E 72 AC 45 45 76 7A 5A 80 F4 A2 C2 3F F2 3F B2 BC C2 0B BA B3 
        $BinaryToHexString($Hash("SHA224",      $StringData("zhangluduo", MBCS), 2), U); // 95 6D 7E 68 BF 85 2E 12 C6 E2 0D BF 3A 5D 83 8C 00 C2 69 3B C0 7C AA D9 3F 6A 90 1D 
        $BinaryToHexString($Hash("SHA256",      $StringData("zhangluduo", MBCS), 1), U); // E5 7F F8 B2 95 4F 39 D6 6B 7D 95 05 78 B1 EC 57 40 28 2F B9 A1 68 E9 0C 9D 16 0E 43 A6 D2 57 74 
        $BinaryToHexString($Hash("SHA256",      $StringData("zhangluduo", MBCS), 2), U); // AE FF 11 53 D5 C8 B4 27 F6 25 9D 06 1D 8B 62 80 D5 D9 8C 44 F8 87 1E 4C D1 97 92 F5 D3 98 E6 71
        $BinaryToHexString($Hash("SHA384",      $StringData("zhangluduo", MBCS), 1), U); // A1 59 53 26 66 32 32 C2 D5 9D 99 CC D8 14 BB FA 51 A3 52 1B 0D FC 8A 39 51 AB AA 6C 0D 2E 54 62 36 16 08 85 DC F0 AE 5F AE 61 AC 7C 46 91 47 1C 
        $BinaryToHexString($Hash("SHA384",      $StringData("zhangluduo", MBCS), 2), U); // 1E BE B9 0E 9B 9F E0 D3 91 ED C3 37 5C DC 8F DE 8F 37 DF 85 B4 39 22 C4 CC B1 58 CC EC 74 A9 91 E8 21 1C B1 F7 A4 E0 3C F7 82 97 72 60 85 03 4C 
        $BinaryToHexString($Hash("SHA512",      $StringData("zhangluduo", MBCS), 1), U); // 9F 90 B2 00 67 0A BD 82 84 79 AF FA EF D2 59 8A B3 0D F0 D8 FC D3 40 B9 54 F5 82 7F 99 48 5C 35 C1 36 1B F0 89 88 5B 92 4F 20 1A 03 91 B0 CE 7D FC 89 69 05 16 F5 40 B4 D5 2F 18 2F 5C AF E8 D6 
        $BinaryToHexString($Hash("SHA512",      $StringData("zhangluduo", MBCS), 2), U); // DB 2A 2E 14 92 FD CD 74 34 FD D5 AB 48 D7 31 FC 90 5E D9 D0 7C 87 8A 05 CB 4C 23 67 40 76 6E 95 8F 8B A2 C6 B6 64 04 79 F2 A3 60 5F E9 00 E6 2C D3 7F DC 27 4F 61 90 FA A1 D3 A8 F1 53 27 A4 48 
        
        $BinaryToHexString($Hash("SHA3-224",    $StringData("zhangluduo", MBCS), 1), U); // 6B 53 2F 4A 1D 50 5B 2C 9B 57 86 16 47 C6 9A C5 CD 98 8A 01 74 3D A4 4D 25 CC 94 A0 
        $BinaryToHexString($Hash("SHA3-224",    $StringData("zhangluduo", MBCS), 2), U); // EE EE 0B 11 9F A3 45 9B 1F 02 A3 EB 30 63 8F 42 85 BC 92 51 A4 C7 66 63 56 34 61 1A 
        $BinaryToHexString($Hash("SHA3-256",    $StringData("zhangluduo", MBCS), 1), U); // 23 F9 1A 2A 16 AF FD B9 00 75 EE 58 D7 95 A9 18 29 0E CA E3 3A 86 00 0A 5D 8E EA BF 7B AF E6 B4 
        $BinaryToHexString($Hash("SHA3-256",    $StringData("zhangluduo", MBCS), 2), U); // 17 CB 96 8D 4F FF 5A D2 93 B0 9A 54 23 4B F8 58 F2 E2 83 31 E4 49 A5 62 DC 67 7D 06 66 49 54 EE 
        $BinaryToHexString($Hash("SHA3-384",    $StringData("zhangluduo", MBCS), 1), U); // B4 E4 A2 1C 5E E1 B5 3F 7E 99 AB 55 9D 7A C1 FF 43 64 48 15 49 2F C5 5D 0B 26 36 53 7B 1C B5 7A 6D 51 7F 46 91 27 37 3A C8 AB 6D FD 3C 34 F0 0D 
        $BinaryToHexString($Hash("SHA3-384",    $StringData("zhangluduo", MBCS), 2), U); // 7B EC 1D E6 2C 4E 27 BB 20 6E 74 2F DD E7 67 BB 57 8C 61 39 3C 3A 5C ED C7 01 4F 2B 95 CF AE 06 8A 62 94 79 A0 F4 46 83 62 EE 0D 55 DA 81 0F AC 
        $BinaryToHexString($Hash("SHA3-512",    $StringData("zhangluduo", MBCS), 1), U); // 1F FE BF 42 45 9C FB 4F D5 F6 44 79 FB A8 AD 0F 34 9E 4E 25 1F C0 CD 68 25 32 FC 30 9B 6E 37 07 DF 99 6B 9E 6A 19 6E 4F 1F 89 91 8D 08 FA 34 0D A2 A8 1C 4F 2C 1B 1F 94 77 19 85 65 B7 9D 85 63 
        $BinaryToHexString($Hash("SHA3-512",    $StringData("zhangluduo", MBCS), 2), U); // EC 12 A1 E9 AF 4F B4 15 D0 C5 C1 A8 21 87 80 AA B8 6C 90 9B AF 83 35 C6 DA 46 5B C2 19 09 FD 71 2B 81 4E 4D E5 25 F7 A4 68 10 FF C8 FF 00 BE FD FA DC 45 6F 3F 94 66 D3 64 86 79 18 B0 60 6E 9B 
    
        $BinaryToHexString($Hash("MD6-224",     $StringData("zhangluduo", MBCS), 1), U); // 98 93 2C AB 68 60 CB 89 15 E0 3F 72 4F 89 A9 E3 9B 21 57 31 0B 6E 50 D3 7E 6C C1 12
        $BinaryToHexString($Hash("MD6-224",     $StringData("zhangluduo", MBCS), 2), U); // 3B 22 AC 42 50 14 0A D8 E2 26 47 21 8F 57 8D AC 12 A7 84 ED 0D A5 23 90 F6 D5 2B AF
        $BinaryToHexString($Hash("MD6-256",     $StringData("zhangluduo", MBCS), 1), U); // D6 4D D3 91 30 37 CA F8 01 8A 7F A4 55 7A 69 78 5E 44 BC 7A 73 49 B0 4B 1D 56 3B 76 64 16 49 F0 
        $BinaryToHexString($Hash("MD6-256",     $StringData("zhangluduo", MBCS), 2), U); // 74 44 C9 99 C2 3D 9A 31 9E 14 3B 26 3A 2D 8F EF 98 6F A9 29 B7 BC CB C5 06 79 0A 9F 7A 58 3C 9E 
        $BinaryToHexString($Hash("MD6-384",     $StringData("zhangluduo", MBCS), 1), U); // 1F 23 BE 7E 10 1F FA A2 58 54 A9 CC 1D 70 DA E3 F4 C2 7B 84 9F 23 55 C8 17 6E 16 46 87 E8 2E 12 C1 3B F9 37 15 8C 18 A8 2C 8B DD AC 3E 3F 38 81 
        $BinaryToHexString($Hash("MD6-384",     $StringData("zhangluduo", MBCS), 2), U); // 7F 7B 53 BF FC BA 3D 63 C0 68 7E 80 6E 6E CB A4 00 8E 6E 39 F6 CC 59 60 7F F4 65 47 29 87 E0 16 67 1F C5 03 25 31 E3 94 3C 04 C1 1F F4 A8 D7 B7 
        $BinaryToHexString($Hash("MD6-512",     $StringData("zhangluduo", MBCS), 1), U); // E2 92 78 2A 16 17 F6 58 F1 F7 48 3D 8F 7B 2E A5 A8 C6 41 28 9E 4C 9D 48 1C C6 26 8B A1 B7 25 4A 86 A1 15 A2 2A B2 62 59 3A AD 7E 51 F1 51 6B 3D 93 C6 E9 CD 50 5E 94 25 10 38 7A 09 E0 48 80 A6 
        $BinaryToHexString($Hash("MD6-512",     $StringData("zhangluduo", MBCS), 2), U); // B2 23 6D 8A 86 23 F0 13 BC 9B DB 47 09 47 00 EB BB 0B 1B F7 76 17 C8 95 3F 96 5E 0F 40 47 77 3D 15 DD 4E 3D 8C FD 0A EB D1 2B B6 1B C9 C6 80 66 21 F5 61 DF 5E C3 95 46 42 86 85 A2 90 64 D5 71 
    
        $BinaryToHexString($Hash("Tiger",       $StringData("zhangluduo", MBCS), 1), U); // 7F 2C 33 C4 68 F3 61 23 17 85 91 61 DF 92 41 62 41 E0 A4 53 A0 A3 B4 B1 
        $BinaryToHexString($Hash("Tiger",       $StringData("zhangluduo", MBCS), 2), U); // 74 D6 B5 DC B9 F7 30 2C A2 25 A2 BE 45 73 25 FC 1A D1 14 0F 2F 59 85 88
        $BinaryToHexString($Hash("Whirlpool",   $StringData("zhangluduo", MBCS), 1), U); // C7 D8 D4 1A 4F 66 D4 09 BC 95 DE FF 26 CD 37 68 DF 37 EE 26 CD 20 3F CE 90 94 9C AC 08 E7 F0 ED 04 1F 7D 60 D9 5B 5C 42 F1 BB AA 2E C2 05 AA 41 49 7D F1 33 3E BC 44 B6 81 0B E3 79 D2 18 12 F2 
        $BinaryToHexString($Hash("Whirlpool",   $StringData("zhangluduo", MBCS), 2), U); // 6E 82 02 CD 97 E9 F6 78 DF 66 44 D6 79 60 86 AC EA C5 29 1E 1E FA ED 12 9F 27 EE CE 1E 5F B0 D5 EB 5C E2 A7 3B 26 DC D7 FB C3 41 C7 B6 7E 98 B1 C7 50 37 8F 3C 7D 0E 7A 1F BE 65 E1 C6 40 B3 4A 
        $BinaryToHexString($Hash("RIPEMD-128",  $StringData("zhangluduo", MBCS), 1), U); // 2B 5B C9 23 26 70 40 50 1B 73 77 2B 65 C9 69 8A
        $BinaryToHexString($Hash("RIPEMD-128",  $StringData("zhangluduo", MBCS), 2), U); // 4C 85 B8 59 D4 AF 58 92 D5 13 53 81 21 65 2F AD 
        $BinaryToHexString($Hash("RIPEMD-160",  $StringData("zhangluduo", MBCS), 1), U); // 66 C0 07 D2 9F BD 6E DA A9 40 3B 1C 94 17 FD D9 A2 17 E5 39 
        $BinaryToHexString($Hash("RIPEMD-160",  $StringData("zhangluduo", MBCS), 2), U); // E7 B7 5B 0C F1 C2 BB 60 0F 56 98 46 F9 F1 A5 D3 8F FD B0 30 
        $BinaryToHexString($Hash("RIPEMD-256",  $StringData("zhangluduo", MBCS), 1), U); // 43 E7 FD C6 D6 7D 7E 83 BA 88 2C 15 D3 D2 14 9B 93 61 5E D9 EC 80 48 2F 1B DC 9D F1 F3 20 1A 4B 
        $BinaryToHexString($Hash("RIPEMD-256",  $StringData("zhangluduo", MBCS), 2), U); // 12 79 09 AA FE EB 94 4B BC 6B 78 39 36 FF C8 CE 61 4A 2C 48 CE 2B 01 5B 6F 32 25 17 F3 CD 95 61 
        $BinaryToHexString($Hash("RIPEMD-320",  $StringData("zhangluduo", MBCS), 1), U); // 0B 64 F9 5E CF 6F 5A 7E CA 7A 8E D5 E2 BE 95 CD 6E F1 F1 A4 9C 29 AC BB 37 1C 80 94 7E 9D F3 E6 72 67 50 14 35 9B 00 32 
        $BinaryToHexString($Hash("RIPEMD-320",  $StringData("zhangluduo", MBCS), 2), U); // 20 2F 0E D8 70 29 8C FF EC AB 79 5A AC B6 7A A8 76 8C 3A 93 40 C0 1E 81 C6 30 5F F6 6F DD 2E 7D D6 FF 73 A6 9A FA 92 F7 
        $BinaryToHexString($Hash("sm3",         $BinaryData(0x616263), 1), L);           // 66 c7 f0 f4 62 ee ed d9 d1 f2 d4 6b dc 10 e4 e2 41 67 c4 87 5c f2 f7 a2 29 7d a0 2b 8f 4b a8 e0 
        $BinaryToHexString($Hash("sm3",         $BinaryData(0x616263), 2), L);           // bc 12 3c 90 c9 b8 e9 a4 4d 20 75 e9 c2 02 c4 63 8c 63 f8 f6 35 5c 30 c5 36 5f f2 5d 61 3f 8a dc 
    
        // DB 2A 2E 14 92 FD CD 74 34 FD D5 AB 48 D7 31 FC 90 5E D9 D0 7C 87 8A 05 CB 4C 23 67 40 76 6E 95 8F 8B A2 C6 B6 64 04 79 F2 A3 60 5F E9 00 E6 2C D3 7F DC 27 4F 61 90 FA A1 D3 A8 F1 53 27 A4 48 
        $BinaryToHexString($Hash("SHA512", $BinaryData(0x9F 90 B2 00 67 0A BD 82 84 79 AF FA EF D2 59 8A 
            B3 0D F0 D8 FC D3 40 B9 54 F5 82 7F 99 48 5C 35 C1 36 1B F0 89 88 5B 92 4F 20 1A 03 91 B0 CE 7D 
            FC 89 69 05 16 F5 40 B4 D5 2F 18 2F 5C AF E8 D6), 1), U); 
    }

Message authentication codes

    // BLAKD2sMAC and BLAKD2bMAC
    {
        // 16 4C 1B BE B8 99 8C EF 60 B1 A7 2D 45 3C 6D 63 E2 9F E0 E4 
        $BinaryToHexString($Hash("blake2b-160", $StringData("TheKey", MBCS), $StringData("helloworld", MBCS), 1), U);
        
        // 3A 17 10 F3 97 B2 97 E1 60 ED 4F 82 84 7A 4F 2B 80 52 32 D3 
        $BinaryToHexString($Hash("blake2b-160", $StringData("helloworld", MBCS),$StringData("TheKey", MBCS), 2), U);
        
        // 3A 17 10 F3 97 B2 97 E1 60 ED 4F 82 84 7A 4F 2B 80 52 32 D3 
        $BinaryToHexString($Hash("blake2b-160", $BinaryData(0x95 69 F6 0B BB 51 B5 EB BB 70 71 E9 55 15 7D A7 38 94 D1 2C ),$StringData("TheKey", MBCS)), U);
        
        // 18 B1 35 51 5A 60 12 9A B8 F3 96 63 F6 67 36 F6 
        $BinaryToHexString($BLAKE2sMAC(16, $StringData("abc", MBCS), $StringData("abc", MBCS)), U);
        
        // 18 B1 35 51 5A 60 12 9A B8 F3 96 63 F6 67 36 F6 
        $BinaryToHexString($Hash("blake2s-128", $StringData("abc", MBCS), $StringData("abc", MBCS)), U);

        // 16 f8 b8 a8 91 c4 03 86 70 d5 43 d0 38 16 b8 2f 9b a3 57 ab ea 97 d5 2f 8e 2b 09 0e 2e 06 87 c3 
        // $BinaryToHexString($HMAC("blake2s-256", $StringData("zhangluduo", MBCS), $StringData("helloworld", MBCS)), L);

        // e9 42 bc ce 34 2e 3b c6 94 1f 0e 1d 08 3b 8b e0 1f dc 9c 74 70 0e ac 55 cf 57 1b d6 e1 c6 56 0d 25 2a fe 05 35 b3 d8 81 de 5e ab 9d f5 8d 73 da d8 89 92 41 7e f1 44 6b 2c 04 2e 5a 98 65 35 77 
        // $BinaryToHexString($HMAC("blake2b-512", $StringData("zhangluduo", MBCS), $StringData("helloworld", MBCS)), L);		
    }

	{
            // f0 e3 5f ea 6a d8 a0 2c 
            $BinaryToHexString($CMAC("DES", $BinaryData(0x2b7e151628aed2a6), $BinaryData(0x6b c1 be e2 2e 40 9f 96 )), L);
            
            // e5 34 81 d9 75 4a 2c 2f 
            $BinaryToHexString($CMAC("DES", $BinaryData(0x2b7e151628aed2a6), $BinaryData(0x6b c1 be e2 2e 40 9f 96 e9 3d 7e 11 73)), L);
            
            // de dd 00 e8 aa 84 38 ac 
            $BinaryToHexString($CMAC("DES", $BinaryData(0x2b7e151628aed2a6), $BinaryData(0x6b c1 be e2 2e 40 9f 96  e9 3d 7e 11 73 93 17 2a)), L);
            
            // bb1d6929 e9593728 7fa37d12 9b756746 
            $BinaryToHexString($CMAC("AES", $BinaryData(0x2b7e151628aed2a6abf7158809cf4f3c), $BinaryData()), U);
            
            // 070a16b4 6b4d4144 f79bdd9d d04a287c 
            $BinaryToHexString($CMAC("AES", $BinaryData(0x2b7e151628aed2a6abf7158809cf4f3c), $BinaryData(0x6bc1bee2 2e409f96 e93d7e11 7393172a)), U);
            
            // dfa66747 de9ae630 30ca3261 1497c827 
            $BinaryToHexString($CMAC("AES", $BinaryData(0x2b7e151628aed2a6abf7158809cf4f3c), 
            $BinaryData(0x6b c1 be e2 2e 40 9f 96
              e9 3d 7e 11 73 93 17 2a
              ae 2d 8a 57 1e 03 ac 9c
              9e b7 6f ac 45 af 8e 51
              30 c8 1c 46 a3 5c e4 11)), U);
            
            // 51f0bebf 7e3b9d92 fc497417 79363cfe 
            $BinaryToHexString($CMAC("AES", $BinaryData(0x2b7e151628aed2a6abf7158809cf4f3c), 
            $BinaryData(0x6b c1 be e2 2e 40 9f 96 
                      e9 3d 7e 11 73 93 17 2a 
                      ae 2d 8a 57 1e 03 ac 9c 
                      9e b7 6f ac 45 af 8e 51 
                      30 c8 1c 46 a3 5c e4 11 
                      e5 fb c1 19 1a 0a 52 ef 
                      f6 9f 24 45 df 4f 9b 17 
                      ad 2b 41 7b e6 6c 37 10)), U);
	}

    {
        // 2E C0 7C 34 DF D9 DF CC 
        $BinaryToHexString($CBCMAC("blowfish", $BinaryData(0x2b7e151628aed2a6), $BinaryData(0x6bc1bee22e409f96)), U);

        // 22 40 19 79 1C EB CA 0A 
        $BinaryToHexString($CBCMAC("blowfish", $BinaryData(0x2b7e151628aed2a6), $BinaryData(0x6bc1bee22e409f96e93d7e117393172a)), U);

        // DC F3 9E 28 F7 D0 D4 71 
        $BinaryToHexString($CBCMAC("blowfish", $BinaryData(0x2b7e151628aed2a6), $BinaryData(0x6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c)), U);

        // F1 61 59 32 71 13 43 FE 
        $BinaryToHexString($CBCMAC("blowfish", $BinaryData(0x2b7e151628aed2a6), $BinaryData(0x6bc1bee22e409f969eb76fac45af8e51)), U);

        // B1 48 C1 7F 30 9E E6 92 28 7A E5 7C F1 2A DD 49 
        $BinaryToHexString($CBCMAC("AES", $BinaryData(0x2b7e151628aed2a6abf7158809cf4f3c), $BinaryData(0x6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e51)), U);
    }

    {
        $BinaryToHexString($HMAC("MD2",       $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($HMAC("MD4",       $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($HMAC("MD5",       $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($HMAC("SHA1",      $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
    
        $BinaryToHexString($HMAC("ED2K",      $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
    
        $BinaryToHexString($HMAC("SHA224",    $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($HMAC("SHA256",    $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($HMAC("SHA384",    $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($HMAC("SHA512",    $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
    
        $BinaryToHexString($HMAC("SHA3-224",  $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($HMAC("SHA3-256",  $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($HMAC("SHA3-384",  $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($HMAC("SHA3-512",  $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
    
        $BinaryToHexString($HMAC("MD6-224",   $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($HMAC("MD6-256",   $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($HMAC("MD6-384",   $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($HMAC("MD6-512",   $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
    
        $BinaryToHexString($HMAC("TIGER",     $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($HMAC("WHIRLPOOL", $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($HMAC("RIPEMD128", $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($HMAC("RIPEMD160", $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($HMAC("RIPEMD256", $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
        $BinaryToHexString($HMAC("RIPEMD320", $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
    
        $BinaryToHexString($HMAC("sm3", $StringData("the key", MBCS), $FileData("D:\Document\1.txt")), L);
    }
    
    {
        $BinaryToHexString($HMAC("MD2",       $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // 07 cc 22 3e 24 fd 8e a2 a6 80 ec 74 b2 32 c9 b7 
        $BinaryToHexString($HMAC("MD4",       $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // 0d 0b c7 ab b1 d0 97 4d 25 13 89 6a 0b 9f e8 a2 
        $BinaryToHexString($HMAC("MD5",       $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // f7 1c da 1c 89 37 66 a1 15 23 4d b7 fd d5 9f 63 
        $BinaryToHexString($HMAC("SHA1",      $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // 5b 33 3a 38 9b 4e 9a 23 58 ac 53 92 bf 2a 64 dc 68 e3 c9 43 
    
        $BinaryToHexString($HMAC("ED2K",      $StringData("the key", MBCS), $StringData("zhangluduo", MBCS)), L); // 72 71 e9 95 cf ca b5 51 10 39 7b 82 c4 72 32 c6 
    
        $BinaryToHexString($HMAC("SHA224",    $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // 63 cc 84 17 89 02 82 65 6f 83 9a ef 34 94 0e 28 98 b0 91 01 7c bc 44 29 08 9d ef bd 
        $BinaryToHexString($HMAC("SHA256",    $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // 2f 02 e2 4a e2 e1 fe 88 03 99 f2 76 00 af a8 83 4 e6 06 2b f9 bb e1 14 b3 2f a8 f2 3d 03 60 8a 
        $BinaryToHexString($HMAC("SHA384",    $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // ef 38 b9 24 96 d4 09 ab 82 a4 eb c4 47 24 b3 9c 0b e5 2d a9 80 5d b4 60 59 58 93 5d d7 4f 8a 16 25 8f 40 3b 55 72 cc e1 39 82 5c ae c1 65 78 93 
        $BinaryToHexString($HMAC("SHA512",    $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // 1a 97 e0 5c 35 e6 72 76 90 df df 2e 80 79 b3 4f ef ab f1 52 36 ab c9 17 0d cc dc f5 62 3e 4c 5c e7 2a 44 68 42 bd 76 07 18 6c 9e 3f 21 c0 a0 ed f6 ab 6c 5e c8 30 4a 1f 96 9c 20 c1 45 5e 9b 7c 
    
        $BinaryToHexString($HMAC("SHA3-224",  $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // 08 7d 28 4a 16 fc 14 bd fd 00 90 a4 0c 31 a3 22 8b 9c ed 5f f2 82 69 21 21 b4 72 d1 
        $BinaryToHexString($HMAC("SHA3-256",  $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // a9 e3 57 4a b1 7d 4a 59 7e ee 8d 23 14 18 e2 92 01 a2 ea 7a a0 4e 6c d9 3a 25 3e 03 b6 c1 0c 2c 
        $BinaryToHexString($HMAC("SHA3-384",  $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // 55 54 7b 2a 86 5f af 06 84 42 c4 f4 1c 11 23 ac 0d d0 7d e6 d8 f2 a8 82 86 a9 fb 83 42 28 76 27 05 04 cc 28 76 33 2c eb b5 e7 34 63 92 67 bd 2a 
        $BinaryToHexString($HMAC("SHA3-512",  $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // cc 73 91 1c 5b 04 10 21 3a ff 4d 48 10 6a 74 c7 f8 4f 9e c5 7c 9b 83 2f 6e fe 74 f5 26 d9 69 f5 9b fd 78 57 65 63 bc 84 e0 0d 39 72 34 38 5f 93 7f aa 14 1f 17 15 db 7d 83 48 b4 e8 b7 c6 d1 6e 
    
        $BinaryToHexString($HMAC("MD6-224",   $StringData("the key", MBCS), $StringData("zhangluduo", MBCS)), L); // 07 55 c9 42 95 c0 16 3e 3f f0 07 6f cc 39 3d 3a 45 6b cd 16 3f b7 24 b3 28 a4 f2 6a 
        $BinaryToHexString($HMAC("MD6-256",   $StringData("the key", MBCS), $StringData("zhangluduo", MBCS)), L); // 2b e5 da f7 5c df d3 c4 a0 c9 ca 87 ce ff c5 2b 54 34 3a 1e ec a0 0e 61 f3 ae da 47 c7 98 89 ec
        $BinaryToHexString($HMAC("MD6-384",   $StringData("the key", MBCS), $StringData("zhangluduo", MBCS)), L); // 88 b0 4f 6e 38 46 d7 eb 4f a7 ff 49 31 a2 be fd bf ca 57 e2 f4 2e b1 7f 3e 1d 3c 79 ca 49 3b 9e f2 f5 2f 54 3d 72 3a a1 fe 0e 37 5a bc 17 7d e1 
        $BinaryToHexString($HMAC("MD6-512",   $StringData("the key", MBCS), $StringData("zhangluduo", MBCS)), L); // 52 18 f2 1a d8 b1 5d e1 53 e3 e8 ff 8d e5 7e 1d e9 ee 41 57 15 10 c7 c4 ef af e5 e9 6b 4f 72 e7 d7 6d 05 7e 6e cc 3f 8e ff bb 8a b5 49 48 0a d6 28 f3 c7 8b b5 70 0f da 93 a2 89 a7 62 90 53 4d 
    
        $BinaryToHexString($HMAC("TIGER",     $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // 34 fa 72 4d 0e 0c 03 65 7e b7 9f ac 87 b4 4e ec 6a cc 4b b9 4c a1 89 68 
        $BinaryToHexString($HMAC("WHIRLPOOL", $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // 42 64 9e 06 68 8c e8 e5 6e 63 0c c4 36 57 7e 23 ff 3c aa f3 cc ef 09 ce 92 5a 6c f3 04 30 3c ac a6 bf ef 00 44 cb 0a 1f cd 1c 57 cc 90 fd ab bf f8 23 0d 87 f1 fb 40 6b d4 b7 77 2c 00 70 5b 0a 
        $BinaryToHexString($HMAC("RIPEMD128", $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // eb ec 45 5c 0a 2e bb b1 86 b1 99 31 58 6e 7b fc 
        $BinaryToHexString($HMAC("RIPEMD160", $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // 02 7c 95 0d 80 50 f1 70 cc 04 2c ae 70 09 67 9f 9d 19 76 71 
        $BinaryToHexString($HMAC("RIPEMD256", $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // 93 e5 6a 85 95 58 b8 4e 09 7e 86 d8 a8 13 73 fa 8e 4e 33 ed 49 1b 39 2c 46 66 43 fb d5 13 35 b3 
        $BinaryToHexString($HMAC("RIPEMD320", $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // 23 7d 0e 2f f6 44 39 e3 87 71 a6 f3 27 fc 7b 9a ce a6 d0 dd aa a5 82 ec bd 15 e5 7b c1 07 71 c2 84 17 41 e8 53 ba ee 70 
    
        $BinaryToHexString($HMAC("sm3", $StringData("abc", MBCS), $StringData("abc", MBCS)), L); // 81 12 d2 4a 09 ee da 43 ea 59 5f 3c fe fb 2a 34 85 69 77 ce 4a c1 d0 3f cc 20 67 ae 64 c5 e3 f1 
    }

Block ciphers

// 72 72 7E 88 1E DC FD 01 00 A7 18 68 79 09 B5 65 
$BinaryToHexString(
    $BlockCipher(
        "AES", 
        $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
        $BinaryData(NULL), 
        ECB, 
        NONE, 
        $StringData("0123456789abcdef", MBCS), 
        $BinaryData(NULL),
        ENCRYPT)->b, U);

{
    // 0123456789abcdef
        $BlockCipher(
            "AES", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $BinaryData(NULL), 
            ECB, 
            NONE, 
            $BinaryData(0x72 72 7E 88 1E DC FD 01 00 A7 18 68 79 09 B5 65 ), 
            $StringData("", MBCS),
            DECRYPT);

    // 0123456789abcdef
        $BlockCipher(
            "AES", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $BinaryData(NULL), 
            ECB, 
            NONE, 
            $BinaryData(0x72 72 7E 88 1E DC FD 01 00 A7 18 68 79 09 B5 65 ), 
            $StringData("", MBCS),
            DECRYPT)->s->TheString;

    // 30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 
    $BinaryToHexString(
        $BlockCipher(
            "AES", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $BinaryData(NULL), 
            ECB, 
            NONE, 
            $BinaryData(0x72 72 7E 88 1E DC FD 01 00 A7 18 68 79 09 B5 65 ), 
            $BinaryData(NULL),
            DECRYPT)->b, U);
}

// 0B 9B 15 DA 4B 44 A0 F5 15 1D CF C4 C0 1F 35 D5 B8 C8 1B 54 77 90 FA 81 7F D0 45 C9 81 A2 A6 F0 
$BinaryToHexString(
    $BlockCipher(
        "AES", 
        $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66), 
        $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66), 
        CBC, 
        NONE, 
        $StringData("0123456789abcdef0123456789abcdef", MBCS), 
        $BinaryData(NULL),
        ENCRYPT)->b, U);

// 0123456789abcdef0123456789abcdef
    $BlockCipher(
        "AES", 
        $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66), 
        $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66), 
        CBC, 
        NONE, 
        $BinaryData(0x0B 9B 15 DA 4B 44 A0 F5 15 1D CF C4 C0 1F 35 D5 B8 C8 1B 54 77 90 FA 81 7F D0 45 C9 81 A2 A6 F0 ), 
        $StringData("", MBCS),
        DECRYPT);

// 42 43 4C BB 2A E9 CB 36 38 9E 79 0A 1A 6D D0 03 D6 AA 82 25 BA 17 23 27 EC FB 6F 28 8D 0B B3 0E 
$BinaryToHexString(
    $BlockCipher(
        "AES", 
        $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66), 
        $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66), 
        CFB, 
        NONE, 
        $StringData("0123456789abcdef0123456789abcdef", MBCS), 
        $BinaryData(NULL),
        ENCRYPT)->b, U);

// 0123456789abcdef0123456789abcdef
    $BlockCipher(
        "AES", 
        $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66), 
        $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66), 
        CFB, 
        NONE, 
        $BinaryData(0x42 43 4C BB 2A E9 CB 36 38 9E 79 0A 1A 6D D0 03 D6 AA 82 25 BA 17 23 27 EC FB 6F 28 8D 0B B3 0E), 
        $StringData("", MBCS),
        DECRYPT);

// 42 43 4C BB 2A E9 CB 36 38 9E 79 0A 1A 6D D0 03 54 44 E0 76 89 A3 C2 DF 90 28 EF 03 43 9F D7 BA 
$BinaryToHexString(
    $BlockCipher(
        "AES", 
        $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66), 
        $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66), 
        OFB, 
        NONE, 
        $StringData("0123456789abcdef0123456789abcdef", MBCS), 
        $BinaryData(NULL),
        ENCRYPT)->b, U);

// 0123456789abcdef0123456789abcdef
    $BlockCipher(
        "AES", 
        $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66), 
        $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66), 
        OFB, 
        NONE, 
        $BinaryData(0x42 43 4C BB 2A E9 CB 36 38 9E 79 0A 1A 6D D0 03 54 44 E0 76 89 A3 C2 DF 90 28 EF 03 43 9F D7 BA ), 
        $StringData("", MBCS),
        DECRYPT);

// 42 43 4C BB 2A E9 CB 36 38 9E 79 0A 1A 6D D0 03 C1 FC F9 23 49 7F A8 A6 0E 9C 2F 34 7F 6A 26 88 
$BinaryToHexString(
    $BlockCipher(
        "AES", 
        $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66), 
        $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66), 
        CTR, 
        NONE, 
        $StringData("0123456789abcdef0123456789abcdef", MBCS), 
        $BinaryData(NULL),
        ENCRYPT)->b, U);

// 0123456789abcdef0123456789abcdef
    $BlockCipher(
        "AES", 
        $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66), 
        $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66), 
        CTR, 
        NONE, 
        $BinaryData(0x42 43 4C BB 2A E9 CB 36 38 9E 79 0A 1A 6D D0 03 C1 FC F9 23 49 7F A8 A6 0E 9C 2F 34 7F 6A 26 88 ), 
        $StringData("", MBCS),
        DECRYPT);

// ZEROS Padding
{
    // 0C 4C 09 EF 08 00 E2 F7 3B 68 DC 1F B1 F9 F5 14 
	// Fill data to tail: 00 00 00 00 00 00
    $BinaryToHexString(
        $BlockCipher(
            "AES", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $BinaryData(NULL), 
            ECB, 
            ZEROS, 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39), 
            $BinaryData(NULL),
            ENCRYPT)->b, U);
    // 0C 4C 09 EF 08 00 E2 F7 3B 68 DC 1F B1 F9 F5 14 
    $BinaryToHexString(
        $BlockCipher(
            "AES", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $BinaryData(NULL), 
            ECB, 
            NONE, 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 00 00 00 00 00 00), 
            $BinaryData(NULL),
            ENCRYPT)->b, U);
    // 30 31 32 33 34 35 36 37 38 39 
    $BinaryToHexString(
        $BlockCipher(
            "AES", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $BinaryData(NULL), 
            ECB, 
            ZEROS, 
            $BinaryData(0x0C 4C 09 EF 08 00 E2 F7 3B 68 DC 1F B1 F9 F5 14 ), 
            $BinaryData(NULL),
            DECRYPT)->b, U);
}
// ISO10126 Padding
{
    // 15 05 44 B2 90 B2 2F 55 F3 4F B6 51 B8 6B 5F 1C 
    // Fill some random data to tail: "9D 96 7D F6 83 06"
    $BinaryToHexString(
        $BlockCipher(
            "AES", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $BinaryData(NULL), 
            ECB, 
            ISO10126, 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39), 
            $BinaryData(NULL),
            ENCRYPT)->b, U);
    // 15 05 44 B2 90 B2 2F 55 F3 4F B6 51 B8 6B 5F 1C 
    $BinaryToHexString(
        $BlockCipher(
            "AES", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $BinaryData(NULL), 
            ECB, 
            NONE, 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 9D 96 7D F6 83 06), 
            $BinaryData(NULL),
            ENCRYPT)->b, U);
    // 30 31 32 33 34 35 36 37 38 39 
    $BinaryToHexString(
        $BlockCipher(
            "AES", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $BinaryData(NULL), 
            ECB, 
            ISO10126, 
            $BinaryData(0x15 05 44 B2 90 B2 2F 55 F3 4F B6 51 B8 6B 5F 1C ), 
            $BinaryData(NULL),
            DECRYPT)->b, U);
}
// ANSIX923 Padding
{
    // 9B D5 D6 41 40 06 FB 64 62 30 84 03 1F 47 80 33 
    // Fill data to tail: 00 00 00 00 00 06
    $BinaryToHexString(
        $BlockCipher(
            "AES", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $BinaryData(NULL), 
            ECB, 
            ANSIX923, 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39), 
            $BinaryData(NULL),
            ENCRYPT)->b, U);
    // 9B D5 D6 41 40 06 FB 64 62 30 84 03 1F 47 80 33 
    $BinaryToHexString(
        $BlockCipher(
            "AES", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $BinaryData(NULL), 
            ECB, 
            NONE, 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 00 00 00 00 00 06), 
            $BinaryData(NULL),
            ENCRYPT)->b, U);
    // 30 31 32 33 34 35 36 37 38 39 
    $BinaryToHexString(
        $BlockCipher(
            "AES", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $BinaryData(NULL), 
            ECB, 
            ANSIX923, 
            $BinaryData(0x9B D5 D6 41 40 06 FB 64 62 30 84 03 1F 47 80 33 ), 
            $BinaryData(NULL),
            DECRYPT)->b, U);
}
// PKCS7 Padding
{
    // 20 5E 05 B9 28 7D A1 DB 9B 67 84 45 BD 9B DC 07 
    // Fill data to tail: 06 06 06 06 06 06
    $BinaryToHexString(
        $BlockCipher(
            "AES", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $BinaryData(NULL), 
            ECB, 
            PKCS7, 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39), 
            $BinaryData(NULL),
            ENCRYPT)->b, U);
    // 20 5E 05 B9 28 7D A1 DB 9B 67 84 45 BD 9B DC 07 
    $BinaryToHexString(
        $BlockCipher(
            "AES", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $BinaryData(NULL), 
            ECB, 
            NONE, 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 06 06 06 06 06 06), 
            $BinaryData(NULL),
            ENCRYPT)->b, U);
    // 30 31 32 33 34 35 36 37 38 39 
    $BinaryToHexString(
        $BlockCipher(
            "AES", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $BinaryData(NULL), 
            ECB, 
            PKCS7, 
            $BinaryData(0x20 5E 05 B9 28 7D A1 DB 9B 67 84 45 BD 9B DC 07 ), 
            $BinaryData(NULL),
            DECRYPT)->b, U);
}

Stream ciphers

    // B4 59 72 6A C9 7B 96 AF 31 CF 3B FC A3 F7 36 23 
        $BinaryToHexString(
        $StreamCipher(
            "arc4", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $StringData("0123456789abcdef", MBCS), 
            $BinaryData(NULL),
            ENCRYPT)->b, U);
    // B4 59 72 6A C9 7B 96 AF 31 CF 3B FC A3 F0 30 26 81 8E 4B B3 EF 52 98 09 8F 22 28 C9 
        $BinaryToHexString(
        $StreamCipher(
            "arc4", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $StringData("0123456789abcccccccccccccdef", MBCS), 
            $BinaryData(NULL),
            ENCRYPT)->b, U);
    // 30 31 32 33 34 35 36 37 38 39 61 62 63 63 63 63 63 63 63 63 63 63 63 63 63 64 65 66 
        $BinaryToHexString(
        $StreamCipher(
            "arc4", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $BinaryData(0xB4 59 72 6A C9 7B 96 AF 31 CF 3B FC A3 F0 30 26 
                81 8E 4B B3 EF 52 98 09 8F 22 28 C9 ), 
            $BinaryData(NULL),
            DECRYPT)->b, U);
    //0123456789abcccccccccccccdef
        $BinaryToString(
        $StreamCipher(
            "arc4", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $BinaryData(0xB4 59 72 6A C9 7B 96 AF 31 CF 3B FC A3 F0 30 26 
                81 8E 4B B3 EF 52 98 09 8F 22 28 C9 ), 
            $BinaryData(NULL),
            DECRYPT)->b, MBCS);
    //0123456789abcccccccccccccdef
        $StreamCipher(
            "arc4", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $BinaryData(0xB4 59 72 6A C9 7B 96 AF 31 CF 3B FC A3 F0 30 26 
                81 8E 4B B3 EF 52 98 09 8F 22 28 C9 ), 
            $StringData("", MBCS),
            DECRYPT);
    
        $StreamCipher(
            "arc4", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $FileData("C:\x\1.txt"), 
            $FileData("C:\x\2.txt"), 
            ENCRYPT);
    
        $StreamCipher(
            "arc4", 
            $BinaryData(0x30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ), 
            $FileData("C:\x\2.txt"), 
            $FileData("C:\x\3.txt"), 
            DECRYPT);

    $BinaryToHexString(
    $StreamCipher(
        "salsa20", 
        $BinaryData(0x80000000000000000000000000000000), 
        $BinaryData(0x0000000000000000), 
        $BinaryData(0x
            00000000000000000000000000000000
            00000000000000000000000000000000
            00000000000000000000000000000000
            00000000000000000000000000000000), 
        $BinaryData(NULL),
        ENCRYPT)->b, U);

    $BinaryToHexString(
    $StreamCipher(
        "salsa20", 
        $BinaryData(0x80000000000000000000000000000000), 
        $BinaryData(0x0000000000000000), 
          $BinaryData(0x
            4D FA 5E 48 1D A2 3E A0 9A 31 02 20 50 85 99 36
            DA 52 FC EE 21 80 05 16 4F 26 7C B6 5F 5C FD 7F
            2B 4F 97 E0 FF 16 92 4A 52 DF 26 95 15 11 0A 07
            F9 E4 60 BC 65 EF 95 DA 58 F7 40 B7 D1 DB B0 AA), 
        $BinaryData(NULL),
        ENCRYPT)->b, U);

    $StreamCipher(
        "salsa20", 
        $BinaryData(0x80000000000000000000000000000000), 
        $BinaryData(0x0000000000000000), 
        $FileData("C:\x\1.txt"), 
        $FileData("C:\x\2.txt"), 
        ENCRYPT);

    $StreamCipher(
        "salsa20", 
        $BinaryData(0x80000000000000000000000000000000), 
        $BinaryData(0x0000000000000000), 
        $FileData("C:\x\2.txt"), 
        $FileData("C:\x\3.txt"), 
        DECRYPT);

    $BinaryToHexString(
    $StreamCipher(
        "xsalsa20", 
        $BinaryData(0x8000000000000000000000000000000000000000000000000000000000000000), 
        $BinaryData(0x000000000000000000000000000000000000000000000000), 
        $BinaryData(0x
            00000000000000000000000000000000
            00000000000000000000000000000000
            00000000000000000000000000000000
            00000000000000000000000000000000), 
        $BinaryData(NULL),
        ENCRYPT)->b, U);

    $BinaryToHexString(
    $StreamCipher(
        "xsalsa20", 
        $BinaryData(0x8000000000000000000000000000000000000000000000000000000000000000), 
        $BinaryData(0x000000000000000000000000000000000000000000000000), 
          $BinaryData(0x
            93 D8 8C 08 5B 84 33 B1 FB AD 22 21 FA D7 18 07
            8D 96 11 9F 72 7D 27 F0 54 7F 9F 3D 29 DE 13 58
            F3 FE 3D 9E EA CF 59 E8 94 FA 76 E6 50 7F 56 7B
            4A 07 96 DD 00 D8 BF C7 36 34 4A 99 06 CB 1F 5D), 
        $BinaryData(NULL),
        DECRYPT)->b, U);

    $StreamCipher(
        "xsalsa20", 
        $BinaryData(0x8000000000000000000000000000000000000000000000000000000000000000), 
        $BinaryData(0x000000000000000000000000000000000000000000000000), 
        $FileData("C:\x\1.txt"), 
        $FileData("C:\x\2.txt"), 
        ENCRYPT);

    $StreamCipher(
        "xsalsa20", 
        $BinaryData(0x8000000000000000000000000000000000000000000000000000000000000000), 
        $BinaryData(0x000000000000000000000000000000000000000000000000), 
        $FileData("C:\x\2.txt"), 
        $FileData("C:\x\3.txt"), 
        DECRYPT);

Public key cryptosystems

    // Create a new rsa 1024 bits key
    // output like this
    // n  = 0x96 94 93 A5 3C 68 5E A2 38 A4 CA DA 0B 9F 70 77 0B C3 30 81 C7 6F E8 DC 2D 71 FE E7 2E 5C 8D F4 F6 55 BC 3C 1F 88 00 06 8B 70 CF 01 1A C1 90 9E 02 6C 23 EC 03 98 A1 F0 92 CF 8B 0A F1 40 E9 A4 B0 77 37 4A 7F FB B9 8E A7 52 95 E9 D0 D2 86 33 48 AC 93 F7 B7 13 C5 A2 16 36 63 E9 8B 8C E3 AA DC C0 90 6A 11 2F 9F 25 19 12 7F E7 0A 20 18 B2 CA E5 6C C3 4B E0 E6 45 56 3B 44 75 5C A0 64 BB 
    // e  = 0x00 01 00 01 
    // d  = 0x34 63 72 CE CD 2A 7E AA 2F CC DD AA 68 DA CA D5 10 29 93 A9 C3 4A 63 18 9F 53 06 DD 45 9A FB E4 9B 03 8F 1E D7 D5 88 34 BE B4 BB C0 65 9F AC 81 DC D3 E4 D7 8B 14 C2 5A A1 A9 45 75 C4 23 D2 65 6A 43 B8 B0 F4 69 2B 6D DE AB 4D 40 91 34 C5 C4 9D C4 BA 9E 79 BE 02 2F 51 2D 63 86 62 C7 E0 EA 6E 8E 43 DC E7 4D F1 EC 5E 30 63 D3 26 BA BA 95 AC 48 35 35 74 C8 F3 F1 B1 92 CA 31 9D DE B3 79 
    // p  = 0xC6 57 7C F3 89 C4 49 8C FF DE CF C2 45 97 44 C4 5D 3B D2 E4 DD 56 EB 9D E8 D3 DD D4 5E 61 A6 5E 50 1B 09 C3 B7 67 E1 41 65 1E B6 14 3B EE 8E F5 9D FD 05 E1 23 CF A0 1B 91 6A 5F 74 0A B8 92 3F 
    // q  = 0xC2 5A B4 F4 3F 6E 20 FC 7F E2 63 96 CA F4 94 0A 9B 42 AB FF 46 DD 44 36 DD A0 A0 78 55 C0 ED CD E5 A3 C7 EF AF F6 FE FE A2 FA 9A 75 9F 1E 1C 5D DA D3 07 C1 84 9C 9F 61 A7 64 F1 AA 51 15 16 85 
    // dp = 0x20 B2 83 92 D2 7F 5D 70 B5 2D D2 2A 40 B6 B3 4B 7B E3 44 DD 1D F0 1A 5F A9 E6 63 87 83 17 AE 09 96 43 1E D4 F9 03 53 0B 28 D4 6B 47 E2 A9 6D 3F E8 8F B1 CC 6F CE E6 A2 24 D2 D8 71 94 E2 E0 99 
    // dq = 0x3B 72 9F 52 EE 6B F3 2F 08 B6 E8 9B 61 2C FA 73 5C 16 42 A1 EC BD 15 76 6A C8 0D 0D 81 BD 67 7F C9 34 15 9D DD 07 01 EC 45 51 BE 19 28 38 7F 98 BD AC 3A FD 18 61 07 E7 48 DA 79 89 0D 10 14 39 
    // qp = 0x0D EE D5 F0 DF FF 60 D8 30 D4 79 32 0A D3 BE 1B 96 8A 35 CE F3 62 93 37 7C 14 4C 1D 7E E4 62 36 82 9D 0E CF 04 B4 C9 2C E6 D1 80 11 B3 9B 82 69 08 12 E9 F2 69 D5 52 5D 41 F8 E9 86 CF 9C 75 01 
    $RsaKeyToString($RsaCreateKey(1024));

    // set a 1024 private rsa key
    $RsaKeyToString(
        $RsaSetKey(
            "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
            "00 01 00 01 ",
            "77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
            "D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
            "BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
            "57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
            "5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
            "03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
    ));
    // set a 1024 public rsa key
    $RsaKeyToString(
        $RsaSetKey(
            "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
            "00 01 00 01 "
    ));
    // return False
    $RsaCheckPrivKey(
        $RsaSetKey(
            "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
            "00 01 00 01 "
    ));
    // return True
    $RsaCheckPubKey(
        $RsaSetKey(
            "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
            "00 01 00 01 "
    ));
    // return True
    $RsaCheckPrivKey(
        $RsaSetKey(
            0x9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ,
            0x00 01 00 01 ,
            0x77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ,
            0xD9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9 ,
            0xBC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77 ,
            0x57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21 ,
            0x5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3 ,
            0x03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17 
    ));
    // return True
    $RsaCheckPubKey(
        $RsaSetKey(
            "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
            "00 01 00 01 ",
            "77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
            "D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
            "BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
            "57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
            "5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
            "03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
    ));

    // return True
    $RsaCheckPubKey(
        $RsaSetKey(
            0x9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ,
            0x00 01 00 01 ,
            0x77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ,
            0xD9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9 ,
            0xBC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77 ,
            0x57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21 ,
            0x5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3 ,
            0x03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17 
    ));

    // test rsaes oaep use 2048 bits key
    
    $BinaryToHexString(
        $RsaesEncrypt("OAEP",
            $RsaSetKey(
                "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
                "00 01 00 01 ",
                "77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
                "D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
                "BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
                "57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
                "5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
                "03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
            ),
        $BinaryData(0x48 65 6c 6c 6f 20 57 6f 72 6c 64), // "Hello World"
        $BinaryData(NULL),
        "SHA1",
        $StringData("", MBCS))->b, U);
    
    // 48 65 6C 6C 6F 20 57 6F 72 6C 64 
    $BinaryToHexString(
        $RsaesDecrypt("OAEP",
            $RsaSetKey(
                "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
                "00 01 00 01 ",
                "77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
                "D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
                "BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
                "57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
                "5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
                "03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
            ),
        $BinaryData(0x43 41 70 7A C8 9C 23 BE BA 7E E6 C4 EE EE CB EC 
            B9 54 F1 07 9E AF 06 27 8F CC B8 67 8C 66 DB 01 
            65 F8 61 A8 F9 21 F9 02 60 95 82 6B 78 AD 12 5A 
            65 E4 AE 9E 2B 01 34 35 C2 43 91 46 C5 16 4B 25 
            B2 EA DA 1D F7 BA FF 22 55 F8 F2 04 85 6B 91 58 
            3E 41 3F BC 52 71 BA 54 16 B1 70 38 61 29 3A 82 
            50 8F DA 8D 17 0A 3D 4D 80 0F 72 AE 8C 16 D0 8B 
            BB 39 48 5F 8E D6 79 48 71 37 54 5E 28 F1 B0 F6 
            F4 20 7B 2D A3 03 AA 7D 97 57 28 30 24 7A 1C E7 
            11 9A A3 3F FF C7 64 01 84 92 B9 BA 7C A7 56 C1 
            A9 B2 25 DD 41 B0 23 EF 3A 77 29 AE 07 0B 96 25 
            7D 63 85 64 5B DD 77 0F 52 B5 A6 75 5D 7E 6D 89 
            DB DF 25 81 F3 5F 05 E4 30 54 E9 5D E8 18 98 D3 
            31 BF F1 A2 2A 30 D2 CB DA C4 D6 E0 1D 4F 09 63 
            50 A8 08 C8 24 64 59 2E 4B 78 97 BB AA 76 CF 2A 
            67 EB A5 DE 16 2B 89 46 00 D1 E5 A9 CA 7F 78 EB 
            ),
        $BinaryData(NULL),
        "SHA1",
        $StringData("", MBCS))->b, U);
    
    // output: "Hello World"
    $RsaesDecrypt("OAEP",
        $RsaSetKey(
    	"9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
    	"00 01 00 01 ",
    	"77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
    	"D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
    	"BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
    	"57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
    	"5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
    	"03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
        ),
        $BinaryData(0x43 41 70 7A C8 9C 23 BE BA 7E E6 C4 EE EE CB EC 
            B9 54 F1 07 9E AF 06 27 8F CC B8 67 8C 66 DB 01 
            65 F8 61 A8 F9 21 F9 02 60 95 82 6B 78 AD 12 5A 
            65 E4 AE 9E 2B 01 34 35 C2 43 91 46 C5 16 4B 25 
            B2 EA DA 1D F7 BA FF 22 55 F8 F2 04 85 6B 91 58 
            3E 41 3F BC 52 71 BA 54 16 B1 70 38 61 29 3A 82 
            50 8F DA 8D 17 0A 3D 4D 80 0F 72 AE 8C 16 D0 8B 
            BB 39 48 5F 8E D6 79 48 71 37 54 5E 28 F1 B0 F6 
            F4 20 7B 2D A3 03 AA 7D 97 57 28 30 24 7A 1C E7 
            11 9A A3 3F FF C7 64 01 84 92 B9 BA 7C A7 56 C1 
            A9 B2 25 DD 41 B0 23 EF 3A 77 29 AE 07 0B 96 25 
            7D 63 85 64 5B DD 77 0F 52 B5 A6 75 5D 7E 6D 89 
            DB DF 25 81 F3 5F 05 E4 30 54 E9 5D E8 18 98 D3 
            31 BF F1 A2 2A 30 D2 CB DA C4 D6 E0 1D 4F 09 63 
            50 A8 08 C8 24 64 59 2E 4B 78 97 BB AA 76 CF 2A 
            67 EB A5 DE 16 2B 89 46 00 D1 E5 A9 CA 7F 78 EB 
            ),
        $StringData("", MBCS),
        "SHA1",
        $StringData("", MBCS));
    
    $BinaryToHexString(
        $RsaesEncrypt("OAEP",
            $RsaSetKey(
                "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
                "00 01 00 01 ",
                "77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
                "D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
                "BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
                "57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
                "5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
                "03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
            ),
        $StringData("01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234", MBCS),
        $BinaryData(NULL),
        "SHA1",
        $StringData("", MBCS))->b, U);
    
    // output: "01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234"
    $RsaesDecrypt("OAEP",
    $RsaSetKey(
        0x9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF,
        0x00 01 00 01,
        0x77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61,
        0xD9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9,
        0xBC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77,
        0x57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21,
        0x5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3,
        0x03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17 
        ),
        $BinaryData(0x6A A0 4F A0 16 B7 B3 F4 AC 31 FC 21 69 0D A1 FC 
            F3 DA C6 64 13 68 8B 74 30 54 05 0B 9F AE 49 03 
            CB EB 2B A7 C7 3B 54 62 24 80 34 A9 65 00 DB 70 
            7F 38 6C DD 33 04 D3 AE 08 27 23 A0 50 48 AE C8 
            D9 35 E0 FA 08 6D BD F0 8F 08 0F 88 44 98 3C 29 
            7F 8D 3F D8 9E F9 DD 77 5A CD 78 D2 C5 50 BB C9 
            9C CF 38 A8 71 03 3F 0D 7E 7A 4C 9B AD 5B F9 66 
            86 3C 5C 6C DE 5A F4 DA DA 2E 57 77 0F 99 CD ED 
            DE DD A6 84 5C 55 57 4A A4 A9 D5 AF 43 D5 0C E8 
            95 31 61 4A AE 88 61 F7 97 9D 8F E9 87 7D A6 D3 
            20 BF CF FD B4 39 FC 18 F1 15 60 D9 3D B0 4E B5 
            FA 15 1B E1 2F 34 93 BE 82 6E 33 79 AF E9 7E 6B 
            E8 DC BA 00 CE 26 45 77 C1 CA 8C 5E 5F 76 64 78 
            85 E1 83 DC 63 3B CB 14 80 1E CA 56 12 78 FC A8 
            62 A3 A5 B7 2A CD 69 83 F4 7F B3 F3 A2 14 5A 3D 
            CE 4D 3A C1 17 A4 37 84 DA 97 B3 E2 D6 FF 7A A5 
            8A 45 80 CC 3C 78 58 16 A3 10 07 1A 9C A8 0E D3 
            50 F7 DA 67 B8 95 FE 40 BE 7E 08 49 ED DD 5F 83 
            70 7A 53 80 3B 2D B0 DB 1F 73 03 28 94 85 09 53 
            6A A9 B8 2A 70 B2 4B 24 E4 3E 7E 6F 68 E7 75 7D 
            EF 43 2F C8 5D 89 D7 E3 86 61 9F 8E 62 79 FA 20 
            8A 62 66 CB 4F 94 F4 0E ED 82 7C 32 75 63 42 FE 
            24 E9 70 0B FF AA D0 2E 16 37 91 FA 3B 29 7F 35 
            EA E8 CB 77 BB 8D 07 CA 1F 0B 1D A4 52 B7 C7 E1 
            BC 1B 61 03 6D A8 D0 27 4C F2 23 F4 37 75 8E B4 
            40 DA B6 33 84 18 A3 BC 92 FC 36 0B DC CC EF 0E 
            E6 E6 66 5F 62 EE 91 F4 E8 D6 F8 F3 87 20 69 BB 
            6A 5D 9D 12 E9 72 F9 3E 67 CC 3D 31 A8 B8 97 C3 
            8B 58 F1 E5 EF 62 25 79 CC 26 5F 4B 05 30 A1 CB 
            15 E3 50 E1 5C 3B FF A7 B5 38 D7 94 B3 27 E6 FA 
            68 83 C8 40 22 88 A7 60 96 A7 FA AD B2 9C 1D 3C 
            15 54 20 C9 9D 1E 37 C9 10 1A 6D 45 A4 C9 94 8F 
        ),
        $StringData("", MBCS),
        "SHA1",
        $StringData("", MBCS));
    
    // test rsaes pkcs1 v15 use 2048 bits key
    $BinaryToHexString(
        $RsaesEncrypt("PKCS1_V15",
            $RsaSetKey(
                "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
                "00 01 00 01 ",
                "77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
                "D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
                "BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
                "57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
                "5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
                "03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
            ),
        $BinaryData(0x48 65 6c 6c 6f 20 57 6f 72 6c 64), 
        $BinaryData(NULL)
        )->b, U);
    
    // 48 65 6C 6C 6F 20 57 6F 72 6C 64 
    $BinaryToHexString(
        $RsaesDecrypt("PKCS1_V15",
            $RsaSetKey(
                "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
                "00 01 00 01 ",
                "77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
                "D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
                "BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
                "57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
                "5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
                "03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
            ),
        $BinaryData(0x5A 0E F0 48 44 D0 B7 D9 25 72 5A 75 BE 02 A4 BF 
            B4 BB C9 90 2B F6 5E 6A 70 0C A8 65 E1 12 96 CD 
            90 8B A4 75 4C EB 89 A2 67 13 DD DD A7 ED 2E 94 
            E4 6C AA 86 66 E0 87 64 0A 33 AC F0 CC BF 79 DA 
            F7 7A 9F F6 FC 2E 72 9B 58 87 CF 09 2F 57 FC 92 
            32 D0 30 85 53 22 25 25 26 07 C4 AB B7 90 94 0D 
            39 FF 07 40 6F 8D 4F 4F 85 BF E2 CC D5 BA 8B 9F 
            92 7B D0 0F 0F 57 F9 00 04 17 F9 1C A0 3E 46 E1 
            41 38 09 B5 60 C0 0A D3 5D 31 8E AF 86 63 B7 29 
            DC 76 17 6F 7E D5 4D 31 5C 3D A5 B0 02 52 D2 B5 
            18 7B 45 22 1C A4 C2 21 C6 9A FA C4 04 34 2B 8E 
            0E 2A 76 1F 8A 97 02 62 79 59 7A E9 28 2B 1C 8D 
            BF EF A7 86 3E CE 61 BA 5C 72 5E 5D B3 60 E4 3A 
            84 9E FB 82 4A 39 A8 9E 8D 10 1F BC 00 CE C2 6F 
            83 60 94 B1 98 A7 31 10 CC 84 C2 F6 55 73 DF B7 
            72 B6 D4 39 70 A2 43 F0 76 A4 5D BA F0 34 94 89 
            ),
        $BinaryData(NULL)
        )->b, U);
    
    // output: "Hello World"
    $RsaesDecrypt("PKCS1_V15",
        $RsaSetKey(
    	"9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
    	"00 01 00 01 ",
    	"77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
    	"D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
    	"BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
    	"57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
    	"5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
    	"03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
        ),
        $BinaryData(0x5A 0E F0 48 44 D0 B7 D9 25 72 5A 75 BE 02 A4 BF 
            B4 BB C9 90 2B F6 5E 6A 70 0C A8 65 E1 12 96 CD 
            90 8B A4 75 4C EB 89 A2 67 13 DD DD A7 ED 2E 94 
            E4 6C AA 86 66 E0 87 64 0A 33 AC F0 CC BF 79 DA 
            F7 7A 9F F6 FC 2E 72 9B 58 87 CF 09 2F 57 FC 92 
            32 D0 30 85 53 22 25 25 26 07 C4 AB B7 90 94 0D 
            39 FF 07 40 6F 8D 4F 4F 85 BF E2 CC D5 BA 8B 9F 
            92 7B D0 0F 0F 57 F9 00 04 17 F9 1C A0 3E 46 E1 
            41 38 09 B5 60 C0 0A D3 5D 31 8E AF 86 63 B7 29 
            DC 76 17 6F 7E D5 4D 31 5C 3D A5 B0 02 52 D2 B5 
            18 7B 45 22 1C A4 C2 21 C6 9A FA C4 04 34 2B 8E 
            0E 2A 76 1F 8A 97 02 62 79 59 7A E9 28 2B 1C 8D 
            BF EF A7 86 3E CE 61 BA 5C 72 5E 5D B3 60 E4 3A 
            84 9E FB 82 4A 39 A8 9E 8D 10 1F BC 00 CE C2 6F 
            83 60 94 B1 98 A7 31 10 CC 84 C2 F6 55 73 DF B7 
            72 B6 D4 39 70 A2 43 F0 76 A4 5D BA F0 34 94 89 
            ),
        $StringData("", MBCS));
    
    $BinaryToHexString(
        $RsaesEncrypt("PKCS1_V15",
            $RsaSetKey(
                "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
                "00 01 00 01 ",
                "77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
                "D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
                "BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
                "57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
                "5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
                "03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
            ),
        $StringData("012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345", MBCS),
        $BinaryData(NULL)
        )->b, U);
    
    // output: "012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345"
    $RsaesDecrypt("PKCS1_V15",
    $RsaSetKey(
        "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
        "00 01 00 01 ",
        "77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
        "D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
        "BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
        "57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
        "5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
        "03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
        ),
        $BinaryData(0x41 E4 54 B4 1E 49 65 12 CF FE 7D C8 F2 31 ED 86 
            7F 05 C6 67 32 4A FE 90 DE 4A 1B 00 BE 97 B9 FB 
            81 57 9B D4 97 C3 7F 27 7F 31 F1 BC 4C 1D B9 1C 
            53 33 B9 97 8A 4C E7 64 80 2F 22 28 EE 6F B7 53 
            0C 31 61 7B 70 23 CC E5 84 D7 40 28 52 A6 CB 42 
            9A 40 EE 7A E4 AD 1A BC D6 1A 2D 24 63 27 61 6A 
            7D BB 50 D0 B6 DE 22 9C 6C D7 E8 D1 AE 7D 15 8B 
            D9 4A 44 20 21 42 B5 2B 4E 7F 6C BE 99 BA C0 EB 
            6D 85 20 94 15 7C CB 7C AA 68 54 19 81 B6 B1 8A 
            0A BC 30 25 E0 BD 5E 9D CF 48 D0 16 73 76 56 81 
            73 BE 9D 9D FB FB EE BA BB 68 43 21 79 47 F7 0A 
            AD 66 18 71 55 35 FD 71 3B E1 9A 97 5B B7 1D 5C 
            99 DD D1 9A 24 6B DC E1 1F 04 6B D2 9C F1 D1 D2 
            EC 80 9A FA DE CB E1 67 A7 42 25 41 72 55 AE 29 
            BA A6 5D FF 2C 7E B1 E6 1D 5D 86 61 48 43 F7 C9 
            33 3D 30 F3 9F BC 60 CB 4B 6C 11 F4 F5 69 E0 C3 
            10 D0 F4 44 CE CA B7 EB 5D E3 F2 40 31 3A DF EA 
            CC 37 43 65 12 32 24 3A 29 1B 22 EA 19 00 C4 35 
            0B 58 6D ED 1B 9B EF 6B F1 DB 31 D6 E2 5F F4 1C 
            CE 2D F9 D3 7D CE B3 16 80 C1 FA 9A C6 0E 2A 36 
            98 B4 D1 DC 04 5B A8 B6 7C BD 4E 07 21 5D 05 01 
            57 BD 10 93 88 1F EF E3 63 5A 32 9C 38 DE C2 27 
            3D 39 5D D7 26 2B 4E 27 26 1A 1E 24 21 84 15 C2 
            B4 69 B1 45 DE 0B DA 29 C6 FD 12 65 95 C2 57 BC 
            4A DD 50 95 C4 E4 67 69 A4 7F 1E 47 5A 10 4A 34 
            76 63 5E C8 13 7F 16 12 6E 48 5B 7A F9 C7 0D 08 
            85 3A 6B 95 38 F8 F6 DD C5 AF 80 22 F2 EF 56 A4 
            1E CC CA 69 6B 16 34 0A 15 B4 53 1C D5 A0 0A AA 
            DC 14 7F 9A CF 06 27 3C D6 5B BD 38 59 77 C6 C9 
            81 59 E3 2C E0 72 51 DC 28 AC 9B 9C 6E 77 3F F8 
            77 F4 32 8C F2 C3 C9 F8 E5 78 EE 6C 14 F8 53 3F 
            F1 A8 D9 3E 35 6A 4F 75 C6 27 BD 68 20 50 9A 24 
        ),
        $StringData("", MBCS));

Public key signature schemes

    // Invalid key length.
    $BinaryToHexString(
        $RsassaSignature("PSS",
            $RsaSetKey(
                "A3 D7 B0 5D 9A 9E 1C D0 08 A7 39 07 E3 31 0A 65 BE D8 28 C6 0A E6 83 75 A4 BA 32 66 14 BE BF 9D 3D 08 F7 1F FC 62 7E 7E 87 AA DD AA EB AC CE 6B 77 03 E9 6F 05 4B 05 9E 04 EA 01 BD F7 E4 4E CB 20 10 0C 8E 08 C3 6A 6A A6 15 FB 07 D5 FA F0 2D 10 AD 03 F0 EC 75 8F FC 11 87 8D 14 51 34 B1 A6 DD B6 19 99 6D AC 8E 22 FF CD 68 17 A8 6A F1 54 CA E8 9A 35 DB 08 0F AF 8D 44 CA 08 F9 83 D2 4D ",
                "00 01 00 01 ",
                "51 B5 1F DC 1E 5E 99 89 D9 B6 E3 47 1E B2 F7 37 74 6C 42 31 39 80 69 B0 C2 9C A4 C3 A9 B6 D2 C2 2C 8D 0B 08 E5 89 8D 01 B6 D0 AC 49 2F CC F7 08 3A CB 35 9F CB 28 F5 BD 2F 40 2F EC 37 F2 A0 A3 F9 AB CE DD 0E 84 1C 7B C3 B5 52 1C F7 38 49 B4 A4 2B 69 48 C1 88 0F E5 03 FB F8 FB CC 6C A7 AD CA 47 08 C4 C9 A5 A4 D9 27 1F C6 74 81 66 38 AE 5C DD C8 BA 56 17 C6 60 2B 9C 76 7F 8E E7 D1 D5 ",
                "CE 4C FD 9B 22 19 80 9A CB 6A E3 A6 47 5B 2D BC 6D F0 98 3A F5 93 3A F1 3A C4 E4 7B 3F 0C 4B CE F0 32 65 12 AB B2 16 B0 FF 6B 0C AC B4 98 E8 34 0B 01 9E 79 46 73 1E BD 6B 6D 34 AD 46 1C B2 77 ",
                "CB 50 35 9C D8 C2 58 09 4C 6E 77 7A CC B8 7D 02 AB F6 71 55 5D 1A 93 8A 2F 91 A8 1F 36 6B 92 3E 85 BB 23 3E A3 41 33 6D 3D 46 F0 0D 17 C8 76 9C 48 D7 A0 59 A7 3F 1D 03 81 67 C6 E4 8D 79 2E 5B ",
                "75 41 E9 7B BD 9C 05 2E F6 A3 E0 94 E8 45 F8 EE FB 06 1F 60 93 A8 85 7E 0B 4B 52 1A 83 31 77 FD 3D 25 47 B1 9F 09 70 40 56 4D 00 3D 41 C1 0F 6A 55 3F 2C 55 FE 26 FC B7 E9 51 7E F9 65 BA 75 ED ",
                "08 81 A4 9C 99 5D 18 3D DB 5A CB D8 F1 73 CE 97 2C 06 B5 9B 32 B8 07 F0 42 29 3F F5 7E 5B 65 D5 03 D7 5E 94 22 54 7A 08 5A 05 FB C9 30 73 8C B2 E1 41 54 4E 2B F7 32 09 91 82 7C 09 D7 F9 77 FD ",
                "A7 C7 D3 4B FE 66 EE 8B ED C5 01 DD 84 75 B5 8B 21 C9 9A 88 A3 62 BD 5D 1B 1C 41 99 E8 37 14 CF A4 6A 18 6D DA 23 3E 13 B9 33 BB 08 73 8D E8 63 DD D2 C4 B8 08 31 06 C7 64 E7 C4 50 57 2B 92 23 "
            ),
        $BinaryData(0x48 65 6c 6c 6f 20 57 6f 72 6c 64), 
        "SHA512"
        ), U);
    
    $BinaryToHexString(
        $RsassaSignature("PKCS1_V15",
            $RsaSetKey(
                "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
                "00 01 00 01 ",
                "77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
                "D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
                "BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
                "57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
                "5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
                "03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
            ),
        $BinaryData(0x48 65 6c 6c 6f 20 57 6f 72 6c 64), 
        "MD5"
        ), U);

    $RsassaVerify("PKCS1_V15",
        $RsaSetKey(
            "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
            "00 01 00 01 ",
            "77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
            "D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
            "BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
            "57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
            "5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
            "03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
        ),
        $BinaryData(0x48 65 6c 6c 6f 20 57 6f 72 6c 64),
        $BinaryData(0x43 6B 2D 55 D9 72 3B 93 8A D2 B7 DE 31 CA 3D 1E 
        02 63 C2 7E B3 EC 77 D4 70 63 0E EA 16 56 4F 51 
        79 24 57 85 2F 4B 69 AA 3F 0F B9 08 54 50 7E 68 
        11 75 8F 53 A7 71 1B 9A 68 E5 3D EC ED 22 34 84 
        A0 08 7D 35 42 82 B3 4B 49 A4 3C F5 40 0A 2B 44 
        50 30 E5 F8 70 80 99 48 D9 C4 99 49 BF 3B 6A 03 
        C0 82 25 DA 1E AE 32 B4 2C BD B7 F9 E5 26 B6 D0 
        A7 0C BD 02 CC 18 06 A4 CD 43 F1 8F B8 9F 1D A1 
        4A F1 B1 9D 2F 30 EC 51 59 0D 0C 46 73 2E B9 0A 
        EF 1A 1A 52 2D 71 85 72 7A FD 6C 84 C5 89 31 59 
        9E F0 61 C3 EA D8 F6 B9 A7 83 2A C2 3A A0 D7 30 
        70 72 C7 7E D4 3F B3 FC DF 94 33 B4 4E C5 AE 9B 
        89 7E A0 E0 A1 3A E6 C1 DC 83 9C 6D 9D 37 6C 13 
        4D 86 C0 48 5B 59 62 8A CA 31 14 B5 65 57 96 2D 
        55 96 0A 22 17 8D CE 01 B3 E0 F8 B5 A9 8E 6A 1F 
        5E 55 3A 9D AD 0A A8 29 1A D9 ED A5 66 7E 05 4A 
        ),
        "MD5"
        );
    
    $BinaryToHexString(
        $RsassaSignature("PKCS1_V15",
            $RsaSetKey(
                "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
                "00 01 00 01 ",
                "77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
                "D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
                "BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
                "57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
                "5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
                "03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
            ),
        $FileData("D:\Soft\1830_usa_ddk.iso"),
        "MD5"
        ), U);
    
    $RsassaVerify("PKCS1_V15",
        $RsaSetKey(
            "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
            "00 01 00 01 ",
            "77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
            "D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
            "BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
            "57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
            "5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
            "03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
        ),
        $FileData("D:\Soft\1830_usa_ddk.iso"), 
        $BinaryData(0x15 1A 3D 51 77 06 28 BF 52 3F 1B 6B D0 69 8F F4 
            5F 9A E3 0B 10 72 87 3A 16 5C 2C 10 C8 69 CD 82 
            C6 69 94 4F CB FC 9C 21 C2 E6 27 E5 A2 D7 F7 49 
            F5 23 94 A6 90 A6 E9 E5 12 6D 53 0D CC AD 0C BD 
            72 4C 19 A8 21 93 92 00 77 B3 CB 37 36 FC 30 7E 
            62 44 A9 17 C2 E5 56 76 46 19 6D 8D B3 BB 4D F5 
            37 45 A3 B5 EA A6 60 8A 9D 63 F4 04 AF B1 76 07 
            6C 1D E9 DD BA 98 70 37 5B AA 73 68 39 4C 36 47 
            8D 42 D3 4A 97 DB 9F 5C F2 0C 51 1F CF 19 C7 CF 
            FA E4 1F E4 DD A2 3C C4 FE 96 B3 D6 98 6A 16 77 
            4D 05 F2 AF D6 60 BD EC DD 9F 58 BB BC 08 46 E1 
            B4 50 48 CE BB 5A 12 89 48 5D 4E 7D 44 93 D2 43 
            2C 3B 33 F4 98 AC 8F 11 2A 80 16 6E 01 42 CA 81 
            B4 45 D0 D7 C5 4A 8C 1B EC 8A 75 B5 53 08 0D EE 
            06 4D D9 FB 99 C4 DE 11 C5 43 9E 1C 28 CA 5B 66 
            CA 63 BC 65 B1 30 F7 6A 0F 84 82 E9 07 6C 45 43 
        ),
        "MD5"
        );
    
    $BinaryToHexString(
        $RsassaSignature("PSS",
            $RsaSetKey(
                "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
                "00 01 00 01 ",
                "77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
                "D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
                "BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
                "57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
                "5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
                "03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
            ),
        $BinaryData(0x48 65 6c 6c 6f 20 57 6f 72 6c 64),
        "SHA512"
        ), U);

    $RsassaVerify("PSS",
        $RsaSetKey(
            "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
            "00 01 00 01 ",
            "77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
            "D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
            "BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
            "57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
            "5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
            "03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
        ),
        $BinaryData(0x48 65 6c 6c 6f 20 57 6f 72 6c 64),
        $BinaryData(0x02 C0 DC AD 9F DB A8 13 5E BB 9D FD F7 8E 74 5D 
            17 3B 39 95 6D 43 C2 1A B3 2A 45 EE 6F 8E 04 66 
            DC 47 4A 5E 19 B9 6C 35 DE 32 F6 7E 1C 81 0F D9 
            CD 83 14 DC C1 D8 66 1E 14 DD 2F 8D 5B 82 DD 67 
            DE AA 10 77 15 0B 81 E9 36 D9 77 60 C5 DA D6 E1 
            5E E5 09 69 F3 B9 4F D9 E7 D5 9B 1D 1B 70 DE 2D 
            B4 C5 E7 9E 1C A5 52 3E 9C 02 A1 CD 72 83 4E DB 
            7F A5 68 4A 4F D3 12 3F F1 BA 07 02 7F 19 21 15 
            E4 EF 76 65 9E 71 C2 71 39 7E 41 A2 1C A1 AB 33 
            88 4F 61 AF 48 FB ED 39 91 02 CE E4 57 DE DC 90 
            80 3B 98 3C 46 74 BC 8C CB 1E 4E 9D 3E 9D 75 49 
            04 D8 55 D2 7F E9 6D 0F 32 05 26 54 0D 39 64 15 
            6C 72 6C 2A 50 5B CF 31 07 64 FC 3F B4 3F 9E 3B 
            FE B0 91 91 73 04 EC 1E 12 D3 78 1C 46 22 17 FF 
            1E 44 20 AD 47 76 50 4A 08 D4 FC 3C 23 E3 81 FB 
            9D C9 FF 13 A2 4A FA 95 CB 67 A6 F8 39 E8 4F 81 
        ),
        "SHA512"
        );
    
    $BinaryToHexString(
        $RsassaSignature("PSS",
            $RsaSetKey(
                "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
                "00 01 00 01 ",
                "77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
                "D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
                "BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
                "57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
                "5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
                "03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
            ),
        $FileData("D:\Soft\1830_usa_ddk.iso"), 
        "SHA512"
        )->b, U);
    
    $RsassaVerify("PSS",
        $RsaSetKey(
            "9F B9 DD D4 78 32 09 C9 60 61 3A C5 EA 41 04 C0 BE 7E D4 AA 1F 4C 25 9F 60 BE E6 9C 73 8F 98 35 A7 D9 F8 58 AA 31 8D E7 27 42 2C AC B8 46 0E 3C 7E DE 62 AE 69 83 5C CD 8D 28 3A 4D A1 DC 2B 09 4A DB 6A C6 E0 0F 42 0D 15 D0 3E 58 BD AC AB 27 73 5D C3 32 F1 CB 14 EF 19 0D B8 C2 54 78 92 F7 C3 51 F4 9D 23 E1 DB 43 F7 86 01 19 02 8A 13 B1 92 74 86 2E 31 7D 9E 83 08 0F 34 51 9B C4 83 F7 83 D4 3A FA 1D D7 56 7A D6 BC 7B 7B A2 9C 40 47 B3 EC 25 9E 1F 2D 5C 85 49 21 31 85 58 17 1E 1E 88 34 2F 61 5B 0D 08 4D AB CB 56 77 2C 0B CD 74 E8 C3 7B 32 A1 FA F8 FA FE D9 E1 46 13 D9 F1 20 CA 95 EF C6 26 76 BE 15 2F CC 7D B8 1F C9 2E 30 E5 61 97 85 AB F4 35 A6 4E 8C D2 03 ED C4 52 E3 6F 07 F0 95 D5 1D EC F5 DA BA 18 3D F3 25 7A F5 44 FD 3C AA 86 9E 1A D3 2D 09 69 B9 D9 6B 36 FF ",
            "00 01 00 01 ",
            "77 1F FA 4F F2 6C EF 5B 9F 64 24 9F 63 3C A6 BC D1 D6 69 E9 8F 7A 0D 3D 36 BC 69 E6 19 51 E9 25 6B 50 67 A6 49 18 B8 4A C3 BE D8 EE E0 68 6F 49 B3 1D 4C DF E3 95 B3 6B 22 71 F4 39 DE 14 04 8C E3 A5 8D 97 51 98 4F 9C CE BE 07 21 CC 24 B1 69 B4 E3 23 28 25 A9 5E AD 8C 33 ED AE 11 AD F3 7E 91 CF D7 EE 32 CA C9 EB 80 FA 12 6B 82 B7 54 44 C5 83 DE 67 29 46 15 28 88 A4 3E 52 F7 27 B3 7B 82 12 8B 2E 01 C8 B9 7A 87 97 F9 FF 91 70 0D 1B 58 95 C6 90 3A A2 6A B4 B4 D5 10 21 15 F1 38 BF 9C B6 14 78 16 F6 33 72 1A 2D DD 66 40 1B 99 29 6D C2 DA A0 8D B5 95 00 64 B9 21 62 22 4E 03 FE 85 07 67 AE 36 82 D2 FD BF 5B 21 79 AE CE 10 2C 53 CA F3 EC 99 79 D7 4A AA CC 40 14 89 0A F5 ED 5A 14 62 66 97 C5 E0 5A 81 89 2A 94 58 DA 51 C7 49 8A 0D 59 9B 34 BE 0A 16 4E E8 77 C8 78 FD 61 ",
            "D9 31 B6 A3 D3 6E 34 16 3F 83 E8 DA 8F 32 D5 BA DD 20 5B C1 53 E1 4D 24 59 98 72 A6 7E F8 B4 CB 52 9B 39 1F 48 49 A3 53 E4 2C 9A D0 5A 0D B3 B5 50 7D FB F5 98 6F DD 02 18 05 D0 BA 2A 24 4A BF F1 88 05 B0 70 10 74 8F E2 0D B7 9A 0D 43 06 36 34 AD 1B 8F DF 1C 08 12 62 E1 C6 C9 F5 24 86 77 3C 94 A6 D7 D9 37 1A 02 AF 93 B9 98 07 87 5F C5 F0 2A 44 F0 76 6A 40 CD B0 C8 FF 46 5E 5E 1D B9" ,
            "BC 43 9B 38 E1 D2 E7 A7 17 5C 18 88 C6 D1 F4 57 9D EB CB 56 E5 48 48 33 31 89 E9 EC 16 95 B7 FF B4 7B C8 60 5E C2 1F F4 35 80 EC 56 D0 79 78 1C E4 2E C8 F9 B9 08 07 F7 0C 8D 33 46 74 55 F2 BD 1B 59 F5 A9 68 EB AB 32 99 EC FC 4A 4B ED BF D8 3A 3C 60 EF D5 20 BE C7 CA E8 66 F3 D3 05 79 90 33 27 4F 57 56 84 D9 A1 86 C9 94 BE 6F 5B E3 D8 E2 5D D7 64 5F D7 B4 DC AE E4 B1 2F 80 C9 96 77" ,
            "57 B0 B6 A8 D6 48 7C 47 2F 45 B6 D1 E7 57 02 EB FB 33 81 58 40 E1 8A 1F CE FC B9 ED 76 FE 3B 20 8C 2D 97 96 85 BD 15 70 5D 83 94 CD E2 4D FD EC 8A 9F 13 07 49 90 80 8E C3 DC 35 35 B4 A6 0A 78 0C B0 7A 7B 8E 03 56 CC 70 DC 50 F0 A5 C2 15 D3 F4 D8 9F 74 2B 04 4A 4E 02 16 5E 08 54 2D 77 0C D5 2C BF 60 0E 97 2C AD 40 EE 47 D4 95 D5 96 59 78 69 D8 83 AD 8B A0 B6 6B 55 FB 9B 11 A6 B6 21" ,
            "5F DC E0 FE 2E E7 30 B4 01 8E 10 A4 1C F1 2D C5 2B 91 B4 81 B3 D0 81 8B 27 CF 7D 00 8D 63 81 44 C0 47 43 79 E6 E6 5C 55 02 A5 7A 32 9E 87 2B A5 32 7F AC 30 94 8A 45 5C 03 D5 26 65 DA B9 25 18 2C 04 3B B6 1E C9 D9 EB B3 3B 5C 20 0C D7 AC 17 53 58 09 58 36 23 2D 62 18 AD 0C 37 5D 9D 6D 10 03 2C 22 17 6B E3 CB D9 97 03 B0 2C E4 11 5B 4C C5 BF 58 FD 30 5C 6B 28 F0 19 5D 2B BE 1D 67 F3" ,
            "03 A5 A6 38 A1 17 B7 DC 23 C5 ED 60 D3 BF BE ED CE 64 75 3E CF 80 30 63 7D E1 1D E1 2C D4 80 28 C8 7D 96 A2 2E EB EB 70 F5 4D C6 6D D8 51 7A 8E 49 24 66 3D 06 58 4E CE 68 43 06 B0 C4 9A C7 3F 95 36 20 13 85 28 EF 15 31 08 EE 6C B5 B9 7C FC 99 EE 9B 6C E6 C3 C4 42 C2 C7 C1 C3 3B 09 DB 71 11 53 BA 28 E4 F3 89 F5 94 89 06 09 4F 24 C4 F0 FE 1C D1 77 A5 F5 36 CF 21 B0 87 A5 62 EE 69 17" 
        ),
        $FileData("D:\Soft\1830_usa_ddk.iso"),
        $BinaryData(0x25 C2 6C D7 CB 29 35 8D AA 84 F9 F1 12 1F 99 AB 
            8E B9 38 82 B3 A0 C9 02 6D 92 75 E5 FF 57 BB EF 
            DF 36 53 51 A1 3F EF F8 C2 B6 E5 07 CC 57 4E A2 
            5A DC 89 DA 72 C9 F9 9E 40 A0 6F 42 C4 6F 81 F5 
            FE 42 75 6D 01 29 E4 F4 4D 62 DE F8 E4 C3 58 2D 
            C1 C5 F6 45 70 43 CE 6E BB 53 83 D8 BA D1 29 7B 
            E2 8A A4 81 3A 88 31 B2 4F FB 86 EE 39 F9 3F 3D 
            22 88 2B 1A 56 8D 1E 47 EE F3 9A AE 50 07 A6 43 
            70 26 F9 1E 7F 57 E6 01 38 6C AB 1D 4C 4A 01 04 
            21 30 86 8E 41 18 CD 4D 8B B2 87 A4 59 DC 6D 40 
            73 6E 5A C4 2E 6E 24 30 3A 6F F4 DF 72 A3 78 B3 
            51 0E FD 88 EB D9 4F CF 56 B8 18 02 F8 B4 75 DB 
            3F FC 7E 53 84 87 92 D2 59 A9 E7 3C 87 5E 33 08 
            7C 10 3A 5A C2 AA 1B DC F5 7F 1E 88 F9 37 74 E1 
            C8 1A F9 4D A6 16 5D 6C 21 74 68 AF CC 27 1F 25 
            03 6F 96 1B 75 F1 55 D9 FF D5 A1 D3 AC AD 11 99 
        ),
        "SHA512"
        );

Classic ciphers

    $Caesar("abc", 3, ENCRYPT);            // def
    $Caesar("def", 3, DECRYPT);            // abc
    $Caesar("Hello World", 30, ENCRYPT);   // ~IPPS>[SVPH
    $Caesar("~IPPS>[SVPH", 30, DECRYPT);   // Hello World
    $Caesar("Hello \"World", 35, ENCRYPT); // %NUUXdC|X0UM
    $Caesar("%NUUXdC|X0UM", 35, DECRYPT);  // Hello "World

$IntToString

    $IntToString((1 + 2) * 3 + 4);     // 13
    $IntToString((1 + 2) * 3 + 4 % 3); // 10
    $IntToString((1 + 2) * 3);         // 9
    $IntToString(1 + 2 * 3);           // 7
    $IntToString(123, 10);             // 0000000123
    $IntToString(123, 5);              // 00123
    $IntToString(123);                 // 123

相对较复杂的嵌套

// 61 62 63 
$BinaryToHexString(
    $RsaesDecrypt("PKCS1_V15",
        $RsaSetKey(
            // n    
            $BinaryToHexString(
                $Decoding("Base64", 
                    $StringData("oSoI9Q07FeK6dljEmmzQaOO7irQ5uOXRJZBPXJVK11U85xIEYYLSmeODFRaiR3V42Gup0MXHDXj/ysz9BAxDCntTcp
            1RcTm4k9t7IodZ1Evlo6WuhwKHorXxZe5pjuq5/vNF+C0n14nw5feUkKsySk7e4Rp2o4/LbgX2QzXSpg0=", 
                        MBCS), 
                    $BinaryData(NULL))->b, 
                U),
            // e
            $BinaryToHexString(
                $Decoding("Base64", 
                    $StringData("AQAB", 
                        MBCS), 
                    $BinaryData(NULL))->b, 
                U),
            // d
            $BinaryToHexString(
                $Decoding("Base64",
                    $StringData("HgwCuIE7e1SWk/rvyKSx5GRU8kKwok7ChADYMvgoiGX9YU1EINPtpMA8j6F1JuJ5YcwM0H4XIuVktzApmegZVV6oS8x
            gdiWWixYufc8MThyP5FEBBd4LxPkVDSBsO3v8mdsWAZIi+Gup+SCnyrNqDp2a984/dfwyxWPj1PmacYc=", 
                    MBCS), 
                    $BinaryData(NULL))->b, 
                U),
            // p
            $BinaryToHexString(
                $Decoding("Base64", 
                    $StringData("0nRJAznZ9iAUkCkW//b9sQ5KquqRqqTe8/jp2ZAkCXuGz7WNCMQsSX/doJY0Dfum5MDeq0Y4ShB/LRSWhrKSrw==", 
                        MBCS), 
                    $BinaryData(NULL))->b, 
                U),
            // q
            $BinaryToHexString(
                $Decoding("Base64", 
                    $StringData("xArz6MLHAHOY7z76pA5o10mERKp7z4yhm/wFa9ghgy3Q3bQAfotRsLbT16ELmXqFi1Wo0Z2CprtZpVMsaGdyAw==", 
                        MBCS), 
                    $BinaryData(NULL))->b, 
                U),
            // dp
            $BinaryToHexString(
                $Decoding("Base64",
                    $StringData("n0/t8WY6zCmOx26DfbKwavbBqU62hHIYYKG+DLcjwJXlAJmTsN4oFF+aGzV5JFirByHFrewTMmX4j9y08jR9+w==", 
                    MBCS),
                    $BinaryData(NULL))->b, 
                U),
            // dq
            $BinaryToHexString(
                $Decoding("Base64", 
                    $StringData("XDg+xrahgE/gmGLK6tOwc92sb9S2y0p/V241aqbQFPI/d5tORDjrY7KNcrjaSQd+vK297WUn6aDmKcQ3dqF62w==", 
                        MBCS), 
                    $BinaryData(NULL))->b, 
            U),
            // qp
            $BinaryToHexString(
                $Decoding("Base64", 
                    $StringData("N1WISfI5sfIovGeRCpTjz0kGfCuqURyjU+MxCD+xmCCgDcNKmSiDaUzKprnoCZbFd5IvSYGFSpPSdtpQ3qcVRw==",
                        MBCS), 
                    $BinaryData(NULL))->b, 
                U) 
        ),
        // data to decrypt
        $BinaryData(0x9b670d97c07c19c67ff8fa4fb4163b8b7c7f2649f1185cf7286b3a9089746396
            4faa94cf78334ca20dfc3e053760c75eddb300d025e853b58ab869d11e8a0c97
            1abda732553ec340aeb29268e68d211455c9093e5a545b24460aa8d20333d040
            25358a06dbbc0dd90cda23dcf3d1757c2d88e63999d1b3632c358d7cde377305
        ),
        // The result is output in binary form, must set binary data NULL
        $BinaryData(NULL)
    )->b, 
    U
);
// abc
$RsaesDecrypt("PKCS1_V15",
    $RsaSetKey(
        // n    
        $BinaryToHexString(
            $Decoding("Base64", 
                $StringData("oSoI9Q07FeK6dljEmmzQaOO7irQ5uOXRJZBPXJVK11U85xIEYYLSmeODFRaiR3V42Gup0MXHDXj/ysz9BAxDCntTcp
        1RcTm4k9t7IodZ1Evlo6WuhwKHorXxZe5pjuq5/vNF+C0n14nw5feUkKsySk7e4Rp2o4/LbgX2QzXSpg0=", 
                    MBCS), 
                $BinaryData(NULL))->b, 
            U),
        // e
        $BinaryToHexString(
            $Decoding("Base64", 
                $StringData("AQAB", 
                    MBCS), 
                $BinaryData(NULL))->b, 
            U),
        // d
        $BinaryToHexString(
            $Decoding("Base64",
                $StringData("HgwCuIE7e1SWk/rvyKSx5GRU8kKwok7ChADYMvgoiGX9YU1EINPtpMA8j6F1JuJ5YcwM0H4XIuVktzApmegZVV6oS8x
        gdiWWixYufc8MThyP5FEBBd4LxPkVDSBsO3v8mdsWAZIi+Gup+SCnyrNqDp2a984/dfwyxWPj1PmacYc=", 
                MBCS), 
                $BinaryData(NULL))->b, 
            U),
        // p
        $BinaryToHexString(
            $Decoding("Base64", 
                $StringData("0nRJAznZ9iAUkCkW//b9sQ5KquqRqqTe8/jp2ZAkCXuGz7WNCMQsSX/doJY0Dfum5MDeq0Y4ShB/LRSWhrKSrw==", 
                    MBCS), 
                $BinaryData(NULL))->b, 
            U),
        // q
        $BinaryToHexString(
            $Decoding("Base64", 
                $StringData("xArz6MLHAHOY7z76pA5o10mERKp7z4yhm/wFa9ghgy3Q3bQAfotRsLbT16ELmXqFi1Wo0Z2CprtZpVMsaGdyAw==", 
                    MBCS), 
                $BinaryData(NULL))->b, 
            U),
        // dp
        $BinaryToHexString(
            $Decoding("Base64",
                $StringData("n0/t8WY6zCmOx26DfbKwavbBqU62hHIYYKG+DLcjwJXlAJmTsN4oFF+aGzV5JFirByHFrewTMmX4j9y08jR9+w==", 
                MBCS),
                $BinaryData(NULL))->b, 
            U),
        // dq
        $BinaryToHexString(
            $Decoding("Base64", 
                $StringData("XDg+xrahgE/gmGLK6tOwc92sb9S2y0p/V241aqbQFPI/d5tORDjrY7KNcrjaSQd+vK297WUn6aDmKcQ3dqF62w==", 
                    MBCS), 
                $BinaryData(NULL))->b, 
        U),
        // qp
        $BinaryToHexString(
            $Decoding("Base64", 
                $StringData("N1WISfI5sfIovGeRCpTjz0kGfCuqURyjU+MxCD+xmCCgDcNKmSiDaUzKprnoCZbFd5IvSYGFSpPSdtpQ3qcVRw==",
                    MBCS), 
                $BinaryData(NULL))->b, 
            U) 
    ),
    // data to decrypt
    $BinaryData(0x9b670d97c07c19c67ff8fa4fb4163b8b7c7f2649f1185cf7286b3a9089746396
        4faa94cf78334ca20dfc3e053760c75eddb300d025e853b58ab869d11e8a0c97
        1abda732553ec340aeb29268e68d211455c9093e5a545b24460aa8d20333d040
        25358a06dbbc0dd90cda23dcf3d1757c2d88e63999d1b3632c358d7cde377305
    ),
    // The result is output in string form, must set string data NULL
    $StringData(MBCS)
);
//61 62 63 
$BinaryToHexString(
    $RsaesDecrypt("PKCS1_V15",
        $RsaSetKey(
            // n    
                $Decoding("Base64", 
                    $StringData("oSoI9Q07FeK6dljEmmzQaOO7irQ5uOXRJZBPXJVK11U85xIEYYLSmeODFRaiR3V42Gup0MXHDXj/ysz9BAxDCntTcp
            1RcTm4k9t7IodZ1Evlo6WuhwKHorXxZe5pjuq5/vNF+C0n14nw5feUkKsySk7e4Rp2o4/LbgX2QzXSpg0=", 
                        MBCS), 
                    $BinaryData(NULL))->b, 
            // e
                $Decoding("Base64", 
                    $StringData("AQAB", 
                        MBCS), 
                    $BinaryData(NULL))->b, 
            // d
                $Decoding("Base64",
                    $StringData("HgwCuIE7e1SWk/rvyKSx5GRU8kKwok7ChADYMvgoiGX9YU1EINPtpMA8j6F1JuJ5YcwM0H4XIuVktzApmegZVV6oS8x
            gdiWWixYufc8MThyP5FEBBd4LxPkVDSBsO3v8mdsWAZIi+Gup+SCnyrNqDp2a984/dfwyxWPj1PmacYc=", 
                    MBCS), 
                    $BinaryData(NULL))->b, 
            // p
                $Decoding("Base64", 
                    $StringData("0nRJAznZ9iAUkCkW//b9sQ5KquqRqqTe8/jp2ZAkCXuGz7WNCMQsSX/doJY0Dfum5MDeq0Y4ShB/LRSWhrKSrw==", 
                        MBCS), 
                    $BinaryData(NULL))->b, 
            // q
                $Decoding("Base64", 
                    $StringData("xArz6MLHAHOY7z76pA5o10mERKp7z4yhm/wFa9ghgy3Q3bQAfotRsLbT16ELmXqFi1Wo0Z2CprtZpVMsaGdyAw==", 
                        MBCS), 
                    $BinaryData(NULL))->b, 
            // dp
                $Decoding("Base64",
                    $StringData("n0/t8WY6zCmOx26DfbKwavbBqU62hHIYYKG+DLcjwJXlAJmTsN4oFF+aGzV5JFirByHFrewTMmX4j9y08jR9+w==", 
                    MBCS),
                    $BinaryData(NULL))->b, 
            // dq
                $Decoding("Base64", 
                    $StringData("XDg+xrahgE/gmGLK6tOwc92sb9S2y0p/V241aqbQFPI/d5tORDjrY7KNcrjaSQd+vK297WUn6aDmKcQ3dqF62w==", 
                        MBCS), 
                    $BinaryData(NULL))->b, 
            // qp
                $Decoding("Base64", 
                    $StringData("N1WISfI5sfIovGeRCpTjz0kGfCuqURyjU+MxCD+xmCCgDcNKmSiDaUzKprnoCZbFd5IvSYGFSpPSdtpQ3qcVRw==",
                        MBCS), 
                    $BinaryData(NULL))->b
        ),
        // data to decrypt
        $BinaryData(0x9b670d97c07c19c67ff8fa4fb4163b8b7c7f2649f1185cf7286b3a9089746396
            4faa94cf78334ca20dfc3e053760c75eddb300d025e853b58ab869d11e8a0c97
            1abda732553ec340aeb29268e68d211455c9093e5a545b24460aa8d20333d040
            25358a06dbbc0dd90cda23dcf3d1757c2d88e63999d1b3632c358d7cde377305
        ),
        // The result is output in binary form, must set binary data NULL
        $BinaryData(NULL)
    )->b, 
    U
);

Key derivation function (KDF)

$PBKDF2

    // 23 14 CE 2E 70 37 94 14 CC B7 98 1B 5A BF A3 A8 
    // 39 25 D3 9D 70 22 4E 63 B1 4E 6F 56 29 50 B8 44 
    // 24 78 24 A9 68 2A E3 7E AD 22 87 CB F1 79 40 8F 
    // 3F 06 8C B5 20 A4 95 0A FD 16 F6 21 BC 2D 9C 12 
    // 29 C8 94 CE 57 E5 2A 71 F3 E6 B1 74 FD 8E 6A 1B 
    // 9A 88 34 A5 58 CD E1 4E 37 BC 39 BF AF 90 67 08 
    // A8 18 62 C5 0D D5 73 D1 C7 A3 6B E4 45 04 95 AE 
    // 83 C8 F9 4C 2F 62 4D 38 5C 73 A8 16 2E 97 90 D9 
    // 20 F9 78 92 9E DE CD 9A 8D 9C DE C0 F5 6E 74 38 
    // 62 F9 74 1A 3D A9 8F 60 26 0B BE 22 70 B9 AA B8 
    // EB 34 5E 3D 40 D2 FB EB A2 3C C3 E9 A2 51 77 0B 
    // B0 DD BD 3D 35 C8 FC E0 FD AC AE 38 FA 92 2F 2D 
    // 34 66 7E 12 C8 68 63 69 

    $BinaryToHexString($PBKDF2("HMAC-SHA1", $StringData("abc", MBCS), $StringData("abc", MBCS), 100, 200), U); 

The program built by Zhang Luduo <support@zhangluduo.com>

Copyright © 2019 Zhang Luduo.

All rights reserved.