
这里给大家汇总常用不常用的JS加密案例,免得大家用的时候到处去找例子。
对称加密:
替代字符表示法:使用Base64或类似的编码对数据进行简单的转换,不过这并不是真正的加密,而只是一种表示形式的转换。
DOCTYPE html>
<html>
<body>
<h2>Base64编码示例h2>
<p>原始文本: Hello, World!p>
<p>Base64编码结果:p>
<p id="encoded-text">p>
<script>
var text = "Hello, World!";
var encodedText = btoa(text);
document.getElementById("encoded-text").innerHTML = encodedText;
script>
body>
html>
JavaScript加密库:通过在HTML中嵌入JavaScript加密库,可以实现一些对称加密算法,如AES(Advanced Encryption Standard)等。
// AES
DOCTYPE html>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js">script>
head>
<body>
<h2>AES加密示例h2>
<p>原始文本: Hello, World!p>
<p>AES加密结果:p>
<p id="encrypted-text">p>
<script>
var plaintext = "Hello, World!";
var passphrase = "MySecretPassphrase";
// Encrypt
var encryptedText = CryptoJS.AES.encrypt(plaintext, passphrase).toString();
document.getElementById("encrypted-text").innerHTML = encryptedText;
script>
body>
html>
非对称加密:
RSA加密:通过使用JavaScript实现RSA算法,可以在浏览器中进行非对称加密。但是这种方法可能存在性能问题,尤其是在处理大量数据时。
DOCTYPE html>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jsencrypt/3.0.0/jsencrypt.min.js">script>
head>
<body>
<h2>RSA加密示例h2>
<p>原始文本: Hello, World!p>
<p>RSA加密结果:p>
<p id="encrypted-text">p>
<script>
var text = "Hello, World!";
var encrypt = new JSEncrypt();
var publicKey = "YOUR_PUBLIC_KEY"; // 请用真实的公钥替换
encrypt.setPublicKey(publicKey);
var encrypted = encrypt.encrypt(text);
document.getElementById("encrypted-text").innerHTML = encrypted;
script>
body>
html>
JavaScript加密库:使用JavaScript加密库如OpenSSL或其他JavaScript加密库,可以在HTML中实现非对称加密功能。
const crypto = require('crypto');
const plaintext = 'Hello, World!';
const publicKey = `-----BEGIN PUBLIC KEY-----
YOUR_PUBLIC_KEY
-----END PUBLIC KEY-----`; // 请用实际的公钥替换
const encrypted = crypto.publicEncrypt(publicKey, Buffer.from(plaintext));
console.log(encrypted.toString('base64'));
哈希加密:
htmlCopy codeDOCTYPE html>
<html>
<body>
<h2>MD5哈希加密示例h2>
<p>原始文本: Hello, World!p>
<p>MD5哈希值:p>
<p id="md5-hash">p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js">script>
<script>
var text = "Hello, World!";
var md5Hash = CryptoJS.MD5(text).toString();
document.getElementById("md5-hash").innerHTML = md5Hash;
script>
body>
html>
htmlCopy codeDOCTYPE html>
<html>
<body>
<h2>SHA-1哈希加密示例h2>
<p>原始文本: Hello, World!p>
<p>SHA-1哈希值:p>
<p id="sha1-hash">p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js">script>
<script>
var text = "Hello, World!";
var sha1Hash = CryptoJS.SHA1(text).toString();
document.getElementById("sha1-hash").innerHTML = sha1Hash;
script>
body>
html>
htmlCopy codeDOCTYPE html>
<html>
<body>
<h2>SHA-256哈希加密示例h2>
<p>原始文本: Hello, World!p>
<p>SHA-256哈希值:p>
<p id="sha256-hash">p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js">script>
<script>
var text = "Hello, World!";
var sha256Hash = CryptoJS.SHA256(text).toString();
document.getElementById("sha256-hash").innerHTML = sha256Hash;
script>
body>
html>
SSL/TLS:
需要注意的是,在实际应用中,为了实现更强大的加密功能,往往需要借助其他技术。单一的对数据进行加密没有太大的作用,用户可以通过分析前端代码模拟出一样的加密内容。
为了进一步加大保护系数,建议使用jsjiami一键在线JS加密工具把所有逻辑加密一遍,变成看不懂的逻辑,但功能保持不变。
如果有部分用户,在加密JS的时候,忘记备份自己的源代码导致源代码丢失,可以找上边网站的客服进行付费的人工解密服务。任何加密都可以,只要是js加密。