index.html 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <head>
  2. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  3. <title>crypty</title>
  4. <script src="/js/jquery-1.7.2.js"></script>
  5. <script src="/js/aes.js"></script>
  6. <script src="/js/pad-pkcs7.js"></script>
  7. <script src="/js/mode-ecb.js"></script>
  8. <link rel="stylesheet" href="/css/bootstrap.min.css">
  9. <link rel="preconnect" href="https://fonts.googleapis.com">
  10. <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  11. <link href="https://fonts.googleapis.com/css2?family=Anonymous+Pro:ital,wght@0,400;0,700;1,400;1,700
  12. &family=Noto+Serif+SC:wght@300;400;500;600;700&display=swap" rel="stylesheet">
  13. <link rel="stylesheet" href="/css/style.css">
  14. <style>
  15. .sel:hover {
  16. background-color: rgb(220, 220, 220);
  17. cursor: pointer;
  18. }
  19. .sel input:hover {
  20. cursor: pointer;
  21. }
  22. textarea {
  23. outline: none;
  24. border: 4px double grey;
  25. border-radius: 5px;
  26. }
  27. </style>
  28. <script>
  29. const key = CryptoJS.enc.Utf8.parse("abcdefgabcdefg12");
  30. function aesDecrypt(encrypted) {
  31. var cipherParams = CryptoJS.lib.CipherParams.create({ ciphertext: CryptoJS.enc.Hex.parse(encrypted) })
  32. var decrypted = CryptoJS.AES.decrypt(cipherParams, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 });
  33. return decrypted.toString(CryptoJS.enc.Utf8);
  34. }
  35. function aesEncrypt(encrypted) {
  36. return CryptoJS.AES.encrypt(encrypted, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }).ciphertext.toString();
  37. }
  38. $().ready(e => {
  39. $("#dec").val('aes~~~\nuses pad-pkcs7, ecb\nkey=abcdefgabcdefg12')
  40. $('#enc').val(aesEncrypt($("#dec").val()))
  41. })
  42. </script>
  43. </head>
  44. <body>
  45. <a class="btn btn-info" href="/"><span class="glyphicon glyphicon-home" aria-hidden="true"></span>&nbsp;返回</a>
  46. <div>
  47. <div class="row">
  48. <div class="col-lg-6 col-md-6 col-xs-12">
  49. 明文:
  50. <textarea class="col-xs-12" rows="10" name="message" id="dec" class="text_source" onclick="this.select();" style="resize:vertical" oninput="$('#enc').val(aesEncrypt($(this).val()))"></textarea>
  51. </div>
  52. </div>
  53. <div class="row">
  54. <div class="col-lg-6 col-md-6 col-xs-12">
  55. <div>密文:</div>
  56. <textarea rows="10" class="col-xs-12" name="cipher" id="enc" style="resize:vertical" oninput="$('#dec').val(aesDecrypt($(this).val()))"></textarea>
  57. </div>
  58. </div>
  59. </div>
  60. </body>