004crypto.lua 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. local md5 = crypto.md5("abc")
  2. log.info("md5 result",md5)
  3. assert(md5:upper() == "900150983CD24FB0D6963F7D28E17F72","md5 error")
  4. local hmac_md5 = crypto.hmac_md5("abc", "1234567890")
  5. log.info("hmac_md5 result",hmac_md5)
  6. assert(hmac_md5:upper() == "416478FC0ACE1C4AB37F85F4F86A16B1","hmac_md5 error")
  7. local sha1 = crypto.sha1("abc")
  8. log.info("sha1 result",sha1)
  9. assert(sha1:upper() == "A9993E364706816ABA3E25717850C26C9CD0D89D","sha1 error")
  10. local hmac_sha1 = crypto.hmac_sha1("abc", "1234567890")
  11. log.info("hmac_sha1 result",hmac_sha1)
  12. assert(hmac_sha1:upper() == "DAE54822C0DAF6C115C97B0AD62C7BCBE9D5E6FC","hmac_md5 error")
  13. local sha256 = crypto.sha256("abc")
  14. log.info("sha256 result",sha256)
  15. assert(sha256:upper() == "BA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015AD","sha256 error")
  16. local hmac_sha256 = crypto.hmac_sha256("abc", "1234567890")
  17. log.info("hmac_sha256 result",hmac_sha256)
  18. assert(hmac_sha256:upper() == "86055184805B4A466A7BE398FF4A7159F9055EA7EEF339FC94DCEC6F165898BA","hmac_sha256 error")
  19. local sha512 = crypto.sha512("abc")
  20. log.info("sha512 result",sha512)
  21. assert(sha512:upper() == "DDAF35A193617ABACC417349AE20413112E6FA4E89A97EA20A9EEEE64B55D39A2192992A274FC1A836BA3C23A3FEEBBD454D4423643CE80E2A9AC94FA54CA49F","sha512 error")
  22. local hmac_sha512 = crypto.hmac_sha512("abc", "1234567890")
  23. log.info("hmac_sha512 result",hmac_sha512)
  24. assert(hmac_sha512:upper() == "0F92B9AC88949E0BF7C9F1E6F9901BAB8EDFDC9E561DFDE428BC4339961A0569AD01B44343AA56E439949655D15C4D28492D459E75015489920243F3C9986F2A","hmac_sha512 error")
  25. local data_encrypt = crypto.cipher_encrypt("AES-128-ECB", "PKCS7", "12345678901234 > 123456000000000", "1234567890123456")
  26. log.info("AES", "aes-128-ecb encrypt", data_encrypt:toHex())
  27. assert(data_encrypt:toHex():upper() == "A37DE67837A1A3006E47A7BC25AA0ECCEF744534DF0A80686810235A6450E2E2050187A0CDE5A9872CBAB091AB73E553", "AES aes-128-ecb encrypt error")
  28. local data_decrypt = crypto.cipher_decrypt("AES-128-ECB", "PKCS7", data_encrypt, "1234567890123456")
  29. log.info("AES", "aes-128-ecb decrypt", data_decrypt)
  30. assert(data_decrypt:upper() == "12345678901234 > 123456000000000", "AES aes-128-ecb decrypt error")
  31. local data2_encrypt = crypto.cipher_encrypt("AES-128-CBC", "PKCS7", "12345678901234 > 123456", "1234567890123456", "1234567890666666")
  32. log.info("AES", "aes-128-cbc encrypt", data2_encrypt:toHex())
  33. assert(data2_encrypt:toHex():upper() == "26D98EA512AE92BC487536B83F2BE99B467649A9700338F4B4FF75AA2654DD2C", "AES aes-128-cbc encrypt error")
  34. local data2_decrypt = crypto.cipher_decrypt("AES-128-CBC", "PKCS7", data2_encrypt, "1234567890123456", "1234567890666666")
  35. log.info("AES", "aes-128-cbc decrypt", data2_decrypt)
  36. assert(data2_decrypt:upper() == "12345678901234 > 123456", "AES aes-128-cbc decrypt error")
  37. local crc16 = crypto.crc16("IBM", "1234567890")
  38. log.info("crc16", crc16)
  39. assert(crc16 == 50554, "crc16 error")
  40. local crc16_modbus = crypto.crc16_modbus("1234567890")
  41. log.info("crc16_modbus", crc16_modbus)
  42. assert(crc16_modbus == 49674, "crc16_modbus error")
  43. local crc32 = crypto.crc32("1234567890")
  44. log.info("crc32", crc32)
  45. assert(crc32 == 639479525, "crc32 error")
  46. local crc8 = crypto.crc8("1234567890", 0x31, 0xff, false)
  47. log.info("crc8", crc8)
  48. assert(crc8 == 208, "crc8 error")
  49. local ts = 1646796576
  50. local otp = crypto.totp("VK54ZXPO74ISEM2E", ts)
  51. log.info("totp", otp)
  52. assert(otp == 522113, "totp error")