JavaScript常规加密技术实现方式详解

 更新时间:2023年04月16日 09:41:10   作者:用户284461312963  
这篇文章主要为大家介绍了JavaScript常规加密技术实现方式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

当今Web开发中,数据安全是一个至关重要的问题,为了确保数据的安全性,我们需要使用加密技术。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!

以上是一个常规JavaScript加密大全及案例代码,希望可以对你有所帮助!

更多关于JavaScript常规加密技术的资料请关注脚本之家其它相关文章!

相关文章

  • 使用js画图之圆、弧、扇形

    使用js画图之圆、弧、扇形

    这篇文章主要介绍了使用js绘制几何图形教程,本文主要是教大家绘制圆、弧、扇形,需要的朋友可以参考下
    2015-01-01
  • JS实现很酷的水波文字特效实例

    JS实现很酷的水波文字特效实例

    这篇文章主要介绍了JS实现很酷的水波文字特效,实例分析了javascript操作图层特效的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • antd table长表格出现滚动条的操作方法

    antd table长表格出现滚动条的操作方法

    这篇文章主要介绍了antd table长表格如何出现滚动条,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)

    使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)

    WEB开发中如何通过Javascript来判断终端为PC、IOS(iphone)、Android呢?可以通过判断浏览器的userAgent,用正则来判断手机是否是ios和Android客户端,下面通过本文学习下吧
    2017-01-01
  • 微信小程序 参数传递实例代码

    微信小程序 参数传递实例代码

    这篇文章主要介绍了微信小程序 参数传递实例代码的相关资料,需要的朋友可以参考下
    2017-03-03
  • js焦点文字滚动效果代码分享

    js焦点文字滚动效果代码分享

    这篇文章主要介绍了js焦点文字滚动效果,功能实现非常简单,推荐给大家,有需要的小伙伴可以参考下。
    2015-08-08
  • 微信小程序可滑动周日历组件使用详解

    微信小程序可滑动周日历组件使用详解

    这篇文章主要为大家详细介绍了微信小程序可滑动周日历组件的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • canvas的神奇用法

    canvas的神奇用法

    canvas有一个神奇的方法getImageData,它可以获取canvas内图像的每一个像素点的颜色值获取,而且可以改变。本文将对canvas实现图片的滤镜转化的方法进行介绍,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • JavaScript使用DeviceOne开发实战(二) 生成调试安装包

    JavaScript使用DeviceOne开发实战(二) 生成调试安装包

    这篇文章主要介绍了JavaScript使用DeviceOne开发实战(二) 生成调试安装包的相关资料,需要的朋友可以参考下
    2015-12-12
  • TypeScript中的接口Interface详解(对象类型的强大工具)

    TypeScript中的接口Interface详解(对象类型的强大工具)

    TypeScript中的接口是一个强大而灵活的特性,它为我们提供了一种清晰、简洁的方式来定义对象的结构和类型,通过使用接口,我们可以编写更加健壮、可维护的代码,这篇文章主要介绍了TypeScript中的接口(Interface):对象类型的强大工具,需要的朋友可以参考下
    2024-08-08

最新评论