首页 > 编程语言 >[JS JavaScript] 使用CryptoJS库对给定的加密字符串进行解密

[JS JavaScript] 使用CryptoJS库对给定的加密字符串进行解密

时间:2023-03-12 15:34:05浏览次数:39  
标签:库对 加密 JavaScript 解密 canDeCrypt item 字符串 CryptoJS JS

本代码可以使用在Web中,或者其他可以出入密码的场景
在需要解密的信息不大的情况下,可以将加密后的信息放入到JS中,在输入密码后,对加密后的信息进行解密

在vue中,可以很方便的调整这个"加密后的信息"。

//经过AES加密的字符串
var encryption = [
        "加密后的信息",
    ],
    canDeCrypt = 0;
//该函数接受一个密码作为参数,并尝试使用该密码对数组中的每个加密字符串进行解密
function multiDecrypt(pwd) {
    //个迭代器,它用于遍历encryption数组中的每个元素,并将其作为第一个参数传递给一个回调函数。
    // 这里的回调函数使用解构赋值的方式将元素值和索引值分别赋给变量item和i。
    encryption.forEach((item, i) => {
        try {
            //如果解密成功,则canDeCrypt将包含解密的结果,否则它将保持为0
            canDeCrypt = Decrypt(item, pwd)
        } catch (e) {
            //如果解密过程中出现了异常,则执行一个条件语句,
            // 如果canDeCrypt等于0,则将canDeCrypt的值保持为0
            if (canDeCrypt == 0) {
                canDeCrypt = 0
            }
        }
    })
    //根据canDeCrypt的值,决定是否弹出一个提示框。
    // 如果canDeCrypt等于0,则提示密码错误,
    // 否则将解密结果显示在HTML页面的result元素中
    if (canDeCrypt == 0) {
        alert("密碼錯誤")
    } else {
        //ok
        document.getElementById("result").innerHTML = canDeCrypt;
    }
}
//在回调函数中,Decrypt()函数被调用,
// 它使用CryptoJS库的AES.decrypt()方法和给定的密码对item进行解密。
// 解密的结果被赋值给变量canDeCrypt
function Decrypt(item, pwd) {
    //该函数接受两个参数:要解密的字符串和密码。
    // 它使用CryptoJS库的AES.decrypt()方法对给定的字符串进行解密,
    // 并使用decodeURIComponent()将结果转换为可读的UTF-8字符串。
    // 最后返回解密结果
    return decodeURIComponent(
        CryptoJS.AES.decrypt(
            item, pwd
        ).toString(CryptoJS.enc.Utf8)
    )
}

标签:库对,加密,JavaScript,解密,canDeCrypt,item,字符串,CryptoJS,JS
From: https://www.cnblogs.com/NetUSA/p/17208216.html

相关文章

  • 2、获取vue.js步骤
    1、访问vue官网:https://cn.vuejs.org/        ......
  • 在chrome-console中进行xpath/css/js定位(六)
    1.xpathconsole中调用xpath的基本格式:$x("xpath表达式")1.1绝对定位与相对定位绝对定位:$x("/xpath表达式")相对定位:$x("//xpath表达式") 1.2通配符与不包含筛......
  • Node.js入门(4):内置模块 path
    前言上文讲解了Node.js的CommonJS规范,它主要用来解决模块化的问题。从本文开始将会介绍Node.js常用的模块,包括内置模块以及好用,好玩的第三方模块。本篇简单介绍下​......
  • 秒杀面试题!JS中this指向的理解和运用
     1.引言本文旨在讲解JavaScript中的this指向的概念和运用,帮助前端开发者更好地理解和应用this关键字。 2.this的概念在JavaScript中,this是一个关键字,用于指向当前......
  • Day08-Json补充
    JSON一.JSON1JSON回顾JavaScript对象文本表示形式(JavaScriptObjectNotation:js对象简称)【1】json在js中是一个对象,在java中是字符串【2】json是目前前后......
  • Android Js交互,调起Js中的方法
    //调用PC端方法例如方法名为:editBtn()if(Build.VERSION.SDK_INT<18){mWebView.loadUrl("javascript:editBtn()");......
  • Android与H5(JavaScript)之间的简单交互
    Android响应Js的动作 假设网页端要调用Android原生的方法:showToast();1.做一个盆子接收消息(创建一个工具类,写一个方法(*带注解))publicclassJavaScriptMethod{......
  • Docker json文件配置
    点击查看代码[root@master0~]#cat/etc/docker/daemon.json{"exec-opts":["native.cgroupdriver=systemd"],"log-driver":"json-file","log-opts":{......
  • JS中进行字符串的相等比较时用==遇到的坑
    场景JS中使用==来判断两个字符串是否相等。遇到坑的代码:varselect_id=Cookies.get("select_id");if(select_id==undefined){select_id="1"}如果说Cookie......
  • Sqlserver中使用ISNULL、CAST、CASE完成对jsTree数据的查询
    场景在上面中使用的查询jsTree数据的语句为:SELECTid,ISNULL(CAST(pidASVARCHAR(50)),CAST('#'ASVARCHAR(50)))parent,icon,text,num,org_class......