12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- {{/*
- ## Hugo Encrypt
- ### Params:
- - `password`:
- require param
- - Simple
- {{% hugo-encryptor "your password" %}}
- your content
- {{% /hugo-encryptor %}}
- */}}
- {{/* DEFAULTS */}}
- <p>文章被密码保护</p>
- <input id="hugo-encryptor-password" placeholder="请输入密码" />
- <button
- onclick="hugoDecrypt(document.getElementById('hugo-encryptor-password').value)"
- >
- 提交
- </button>
- <div id="hugo-encryptor" data-password="{{ .Get 0 }}" style="display:none;">
- <p style="display:none;">The quick brown fox jumps over the lazy dog</p>
- {{ .Inner }}
- </div>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.js"></script>
- <script>
- <!--
- let encryptor = document.getElementById("hugo-encryptor");
- const hugoDecrypt = function(password) {
- let cipher_text = encryptor.innerText;
- password = password.padEnd(16, "\0");
- let key = CryptoJS.enc.Utf8.parse(password);
- let decryptedData = CryptoJS.AES.decrypt(cipher_text, key, {
- iv: key,
- mode: CryptoJS.mode.CBC,
- padding: CryptoJS.pad.Pkcs7
- });
- let decryptedStr = decryptedData.toString(CryptoJS.enc.Utf8);
- if (decryptedStr.includes("The quick brown fox jumps over the lazy dog")) {
- encryptor.parentElement.innerHTML = decryptedStr;
- } else {
- alert("密码错误!");
- }
- };
- -->
- </script>
|