Vue之数据排序加签
这篇随笔小编给大家带来的是数据排序加签:
所谓数据加签,就是把数据进行加密再传给后端,这样保证数据的秘密性。不容易被修改和获取;排序就是根据公司要求对字段进行排序,有些公司会把字段根据a-z排序,有些公司会选择倒序,具体情况按照公司要求进行修改,下面的例子小编用的是a-z排序,话不多说,下面开始讲解。
1、首先vue为我们提供好了一种方法----md5,这种方法就是用来加签的,在vue中下载md5使用 npm install --save js-md5。
下载后在所需要的组件里引用就可以了------import md5 from "js-md5";
2、接下来我们先对字段进行排序,在这里我们对字段使用a-z排序,小编用登录举例,在用户输入登录名和密码后,对其进行排序,这里值得注意的是,如果有token,也要把token加进去一起进行排序,还有一点很重要,在排序的时候,不需要把
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之数据排序加签的更多相关文章
- 023——VUE中数据排序sort() / 数据反转 reverse() 的使用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- RSA加密解密及RSA加签验签
RSA安全性应用场景说明 在刚接触RSA的时候,会混淆RSA加密解密和RSA加签验签的概念.简单来说加密解密是公钥加密私钥解密,持有公钥(多人持有)可以对数据加密,但是只有持有私钥(一人持有)才可以解 ...
- Python rsa公私钥生成 rsa公钥加解密(分段加解密)-私钥加签验签实战
一般现在的SAAS服务提供现在的sdk或api对接服务都涉及到一个身份验证和数据加密的问题.一般现在普遍的做法就是配置使用非对称加密的方式来解决这个问题,你持有SAAS公司的公钥,SAAS公司持有你的 ...
- Java Http接口加签、验签操作方法
1.业务背景 最近接触了一些电商业务,发现在处理电商业务接口时,比如淘宝.支付类接口,接口双方为了确保数据参数在传输过程中未经过篡改,都需要对接口数据进行加签,然后在接口服务器端对接口参数进行验签,确 ...
- RSA加密解密与加签验签
RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.1987年7月首次在美国公布 ...
- 手摸手带你认识https涉及的知识,并实现https加密解密,加签解签
目录 http访问流程 https访问流程 证书 加密/解密 加签/验签 Java实现https 拓展 @ 看完整的代码,直接去完整代码实现,看实现完后会遇到的坑,直接去测试过程中的问题,包括经过代理 ...
- vue 中监测滚动条加载数据(懒加载数据)
vue 中监测滚动条加载数据(懒加载数据) 1:钩子函数监听滚动事件: mounted () { this.$nextTick(function () { window.addEventListene ...
- 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 基本知 ...
- RSA加密及加签
1.对方要求我们的私钥是pkcs8格式,但是实际的公钥没有用pkcs8转换之后的私钥完成,所以是可以不是pkcs8的格式的.我们加签跟格式没有关系. 2.数据格式很重要,to_mpint而非crypt ...
随机推荐
- jumpserver3.0安装
由于来源身份不明.越权操作.密码泄露.数据被窃.违规操作等因素都可能会使运营的业务系统面临严重威胁,一旦发生事故,如果不能快速定位事故原因,运维人员往往就会背黑锅.几种常见的运维人员背黑锅场景:1)由 ...
- 集中式日志系统 ELK 协议栈详解
简介 在我们日常生活中,我们经常需要回顾以前发生的一些事情:或者,当出现了一些问题的时候,可以从某些地方去查找原因,寻找发生问题的痕迹.无可避免需要用到文字的.图像的等等不同形式的记录.用计算机的术语 ...
- 多线程实现奇偶统计v2 - 信号量实现
#include <stdio.h> #include <stdlib.h> #include <time.h> #include "pthread.h& ...
- sudo: unable to resolve host 枝桠
Ubuntu环境, 主机名字叫枝桠(机器的hostname), 每次执行sudo 就出现这个警告讯息: 虽然sudo 还是可以正常执行, 所以就直接从/etc/hosts 设定, 让枝桠(hostna ...
- 算法竞赛模板 KMP
KMP算法图解: ① 首先,字符串“BBC ABCDAB ABCDABCDABDE”的第一个字符与搜索词“ABCDABD”的第一个字符,进行比较.因为B与A不匹配,所以搜索词后移一位. ② 因为B与A ...
- MyBatis操作数据库(基本增删改查)
一.准备所需工具(jar包和数据库驱动) 网上搜索下载就可以 二.新建一个Java project 1.将下载好的包导入项目中,build path 2.编写MyBatis配置文件:主要填写prope ...
- html浮动小问题
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- SQL关于:警告: 聚合或其他 SET 操作消除了空值。
方法一: create table tb ( id int, num int ) insert into tb select 1,10 insert into tb select 1,20 inser ...
- 08-01-json-loggin-模块
复习 ''' ATM: -- start.py BASE_DIR = os.path.dirname(__file__) sys.path.append(BASE_DIR) -- conf -- li ...
- leetcode-第14周双周赛-1272-删除区间
题目描述: 自己的提交: class Solution: def removeInterval(self, intervals: List[List[int]], toBeRemoved: List[ ...