这篇随笔小编给大家带来的是数据排序加签:

    所谓数据加签,就是把数据进行加密再传给后端,这样保证数据的秘密性。不容易被修改和获取;排序就是根据公司要求对字段进行排序,有些公司会把字段根据a-z排序,有些公司会选择倒序,具体情况按照公司要求进行修改,下面的例子小编用的是a-z排序,话不多说,下面开始讲解。

    

    1、首先vue为我们提供好了一种方法----md5,这种方法就是用来加签的,在vue中下载md5使用      npm install --save js-md5。

       下载后在所需要的组件里引用就可以了------import md5 from "js-md5";

    

    2、接下来我们先对字段进行排序,在这里我们对字段使用a-z排序,小编用登录举例,在用户输入登录名和密码后,对其进行排序,这里值得注意的是,如果有token,也要把token加进去一起进行排序,还有一点很重要,在排序的时候,不需要把

secret进行排序(后续我们会说到)  先让大家看看排序的代码。
      

      3、上面那步已经把我们的字段进行排序,接下来就是加签的过程了,在加签中我们使用md5,上面说到secret是不需要排序的,直接放在排序好字段的后面就可以(secret=*G0^Z!eGOCh2Tf04),

把这些都准备好后,我们用md5("排序好的字段"),得出的结果就是我们加签好的数据,得到的数据用sign定义,怎么样,简单吧!!!  

       

      4、最后把得到的sign和我们要给后端传递的数据放在data里传过去就可以了,这就是使用Vue对数据进行加签,下面给大家带来完整代码。

      

 <template>
<div>
<input type="text" placeholder="请输入用户名" v-model="phone">
<input type="password" placeholder="请输入密码" v-model="password">
<button @click="handleclick()">点击</button>
</div>
</template> <script>
import md5 from "js-md5";
export default {
data() {
return {
phone: "",
password: "",
sign: "",
array: [],
secretKey: "*G0^Z!eGOCh2Tf04",
arr: ["secret"]
};
},
created() {
this.array = ["phone", "password" ];
this.array = this.array.sort(function(item1, item2) {
return item1.localeCompare(item2);
});
console.log(this.array[0], this.array[1]);
},
methods: {
handleclick() {
if (this.phone !== "" && this.password !== "") {
console.log(
this.array[0] +
"=" +
this.password +
"&" +
this.array[1] +
"=" +
this.phone +
"&" +
this.arr[0] +
"=" +
this.secretKey
);
this.sign = md5(
this.array[0] +
"=" +
this.password +
"&" +
this.array[1] +
"=" +
this.phone +
"&" +
this.arr[0] +
"=" +
this.secretKey
);
console.log(this.sign);
this.phone = "";
this.password = "";
} else {
alert("账号或密码不能为空");
}
}
}
};
</script> <style scoped>
* {
margin: 0;
padding: 0;
}
div {
display: flex;
flex-direction: column;
}
input {
width: 75%;
height: 2rem;
outline: none;
padding-left: 1rem;
margin: 0.5rem auto;
}
button {
width: 80%;
height: 2rem;
margin: 0.5rem auto;
background: skyblue;
outline: none;
}
</style>

         欢迎各位同学评论留言         大 家 学 会 了 吗?

Vue之数据排序加签的更多相关文章

  1. 023——VUE中数据排序sort() / 数据反转 reverse() 的使用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. RSA加密解密及RSA加签验签

    RSA安全性应用场景说明 在刚接触RSA的时候,会混淆RSA加密解密和RSA加签验签的概念.简单来说加密解密是公钥加密私钥解密,持有公钥(多人持有)可以对数据加密,但是只有持有私钥(一人持有)才可以解 ...

  3. Python rsa公私钥生成 rsa公钥加解密(分段加解密)-私钥加签验签实战

    一般现在的SAAS服务提供现在的sdk或api对接服务都涉及到一个身份验证和数据加密的问题.一般现在普遍的做法就是配置使用非对称加密的方式来解决这个问题,你持有SAAS公司的公钥,SAAS公司持有你的 ...

  4. Java Http接口加签、验签操作方法

    1.业务背景 最近接触了一些电商业务,发现在处理电商业务接口时,比如淘宝.支付类接口,接口双方为了确保数据参数在传输过程中未经过篡改,都需要对接口数据进行加签,然后在接口服务器端对接口参数进行验签,确 ...

  5. RSA加密解密与加签验签

    RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.1987年7月首次在美国公布 ...

  6. 手摸手带你认识https涉及的知识,并实现https加密解密,加签解签

    目录 http访问流程 https访问流程 证书 加密/解密 加签/验签 Java实现https 拓展 @ 看完整的代码,直接去完整代码实现,看实现完后会遇到的坑,直接去测试过程中的问题,包括经过代理 ...

  7. vue 中监测滚动条加载数据(懒加载数据)

    vue 中监测滚动条加载数据(懒加载数据) 1:钩子函数监听滚动事件: mounted () { this.$nextTick(function () { window.addEventListene ...

  8. Vue学习之--------列表排序(ffilter、sort、indexOf方法的使用)、Vue检测数据变化的原理(2022/7/15)

    文章目录 1.列表排序 1.1 .代码实例 1.2 .测试效果 1.3.需要掌握的前提知识 2.Vue监测数据变化的原理 2.1.代码实例 2.2 .测试效果 3.Vue检测数据的原理 3.1 基本知 ...

  9. RSA加密及加签

    1.对方要求我们的私钥是pkcs8格式,但是实际的公钥没有用pkcs8转换之后的私钥完成,所以是可以不是pkcs8的格式的.我们加签跟格式没有关系. 2.数据格式很重要,to_mpint而非crypt ...

随机推荐

  1. 【目录】mysql 进阶篇系列

    随笔分类 - mysql 进阶篇系列 mysql 开发进阶篇系列 55 权限与安全(安全事项 ) 摘要: 一. 操作系统层面安全 对于数据库来说,安全很重要,本章将从操作系统和数据库两个层面对mysq ...

  2. 2018APIO 进京赶考

    先见识了一下CTSC的操作...涨了见识... 打铁匠x1 见识了个全英文的ppt,各种讲课其实真的讲的很好,只是逻辑性太强反而让完全不会的同学有些尴尬... linux真的令人窒息...GUIDE用 ...

  3. 【牛客网-剑指offer】斐波拉契数列

    题目: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0).n<=39 知识点: 一列数:从1开始,前两项为1,从第三项开始每一项等于前两项之和 ...

  4. activiti网关

    activiti中有两种网关:并行网关,排他网关. 排他网关用于任务选择等情况,流程图如下 bpnm代码如下 <?xml version="1.0" encoding=&qu ...

  5. EXCEL数据计算不准确的问题

    今天,某部门的excel的数值计算,总是出现错误.如下图 ,我们的46那一栏是有前面8*6得出来的,但是结果却显示46,明明应该是48才对,然后再往上追,8是有前面的337-329得出来的,337是有 ...

  6. 同域SQL server 做镜像服务器遇到1418错误

    今天遇到了如题所说的错误,查了一天没有看到好的解决方案,因为作者是小白,所以对于解决方案都是代码的那种,完全理解不了. 现在,讲述一下我的解决方法.因为是同域的服务器,这个时候说网络访问不了对方,但是 ...

  7. androidstudio 2.3.3 jni过程汇总(2):2、使用so文件

    2.使用so文件 1.在java文件中System.loadLibrary加载包,并且引入native方法. 2.在app/src/main/下新建jniLibs文件夹,将so包带arm文件夹形式导入 ...

  8. Circular Coloring

    Circular Coloring 将n个0,m个1进行圆周排列,定义一个排列的权值为圆上所有相邻且相同的数字组成一段的段长的乘积,询问断环成链所有方案的权值之和,\(n,m\leq 5000\). ...

  9. mysql 100%占用的解决

    早上客户反应,其网站无法访问,无限转圈 上服务器,查看磁盘空间df -h,内存使用率free -m,网络流量iftop均正常 然后使用top查看时,发现mysql的cpu使用率上升到200%. 解决过 ...

  10. MyBatis 通过包含的jdbcType类型

    BIT         FLOAT      CHAR           TIMESTAMP       OTHER       UNDEFINED TINYINT     REAL       V ...