这篇文章主要介绍了JavaScript常规加密技术怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript常规加密技术怎么实现文章都会有所收获,下面我们一起来看看吧。
Base64加密
Base64是一种将二进制数据编码为ASCII字符的编码方式。这种编码方式广泛应用于将二进制数据转换为文本数据的场合,例如在电子邮件中传输二进制数据。以下是JavaScript实现Base64加密的代码:
function base64Encode(str) { return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => String.fromCharCode('0x' + p1))); }
这里我们使用了JavaScript内置的
btoa()函数和
encodeURIComponent()函数。其中,
btoa()函数可以将字符串编码为Base64格式,而
encodeURIComponent()函数则可以将字符串转换为可传输的URI格式。我们还使用了一个正则表达式来将URI格式中的特殊字符进行替换。最后,我们将处理后的字符串返回作为结果。
以下是一个使用Base64加密的例子:
const originalString = "Hello, world!"; const encodedString = base64Encode(originalString); console.log("Original string:", originalString); console.log("Encoded string:", encodedString);
运行上述代码,输出将会是:
Original string: Hello, world!
Encoded string: SGVsbG8sIHdvcmxkIQ==
MD5加密
MD5是一种广泛使用的消息摘要算法,用于验证数据完整性和防止数据被篡改。MD5生成的摘要信息是一个128位的二进制数据,通常表示为32个十六进制数字。以下是JavaScript实现MD5加密的代码:
function md5(str) { let md5Hash = CryptoJS.MD5(str); return md5Hash.toString(CryptoJS.enc.Hex); }
在这里,我们使用了一个JavaScript库CryptoJS来实现MD5加密。我们首先将输入的字符串传递给
CryptoJS.MD5()函数进行摘要计算,然后将结果转换为十六进制格式的字符串返回。
以下是一个使用MD5加密的例子:
const originalString = "Hello, world!"; const hashedString = md5(originalString); console.log("Original string:", originalString); console.log("Hashed string:", hashedString);
运行上述代码,输出将会是:
Original string: Hello, world!
Hashed string: ed076287532e86365e841e92bfc50d8c
AES加密
AES是一种对称密钥加密算法,广泛应用于数据加密和保护。以下是JavaScript实现AES加密的代码:
function aesEncrypt(str, key) { let encrypted = CryptoJS.AES.encrypt(str, key); return encrypted.toString(); } function aesDecrypt(str, key) { let decrypted = CryptoJS.AES.decrypt(str, key); return decrypted.toString(CryptoJS.enc.Utf8); }
这里我们同样使用了CryptoJS库来实现AES加密。我们首先调用
CryptoJS.AES.encrypt()函数来加密输入字符串,然后将结果转换为字符串并返回。解密过程也很类似,我们调用
CryptoJS.AES.decrypt()函数来解密字符串,然后将结果转换为UTF-8格式的字符串并返回。
以下是一个使用AES加密的例子:
const originalString = "Hello, world!"; const key = "my-secret-key"; const encryptedString = aesEncrypt(originalString, key); const decryptedString = aesDecrypt(encryptedString, key); console.log("Original string:", originalString); console.log("Encrypted string:", encryptedString); console.log("Decrypted string:", decryptedString);
运行上述代码,输出将会是:
Original string: Hello, world! Encrypted string: U2FsdGVkX19Jj+YoIjqJZvT8WxtsA9X+wLjKzFMGk8M= Decrypted string: Hello, world!