首页
壁纸
关于
发现大佬
Search
1
XBOX土耳其阿根廷购买教程
4,075 阅读
2
Oculus Quest2 无线投屏到PC
2,885 阅读
3
openwrt路由器安装uu加速器插件
2,000 阅读
4
xiaomi 小米pad 5 pro adb 删除自带app 系统精简 (非root)
1,562 阅读
5
Xbox Series X / S 开箱~~~~激动无比
1,325 阅读
学习
QuantumultX
JavaScript
web3
react
Solidity
雅思
Azure
游戏
随笔
登录
/
注册
Search
标签搜索
javascript
XSX
js
游戏
xbox
css
游戏截图
Xbox Series X
刺客信条
刺客信条英灵殿
web3
雅思
学习
IELTS
英语
教程
Xbox Series S
Steam
截图
leetcode
Arthur
累计撰写
109
篇文章
累计收到
104
条评论
首页
栏目
学习
QuantumultX
JavaScript
web3
react
Solidity
雅思
Azure
游戏
随笔
页面
壁纸
关于
发现大佬
搜索到
109
篇与
Arthur
的结果
2021-09-10
微信小程序RSA加密
GITHUB传送门 wxmp-rsa 1、简介 前端rsa加解密工具。 基于jsencrypt修改扩展功能。 兼容小程序环境,压缩后60kb左右的大小,节省小程序空间。 支持超长文本加解密。 支持中文字符的加解密。 2、安装 npm i wxmp-rsa -S 3、使用方式 (小程序使用之前需先使用开发者工具构建npm) // 导入包 import WxmpRsa from 'wxmp-rsa' // 实例化rsa const rsa = new WxmpRsa() // 定义待加密的字符串 const str = '{"name":"neo"}' // 定义公钥 const publicKey = ` -----BEGIN PUBLIC KEY----- MIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgFnWSUwsmGawhMJ30z6y5li2jcf1 m7rPMZcwZOS3To8bk3OBaMGhVEc1F8GtJBbc1rn/HCLNL9zrCy21EefJON8tRFcY HnpseZSzh+349lIhS+MFw9x4JUddwSPDyxwha929cKzMuVoftu3CJ+kqDBVvxLk7 iDBzUMqW3Kgehk2TAgMBAAE= -----END PUBLIC KEY----- ` // 设置公钥 rsa.setPublicKey(publicKey) // 加密 const cryptStr = rsa.encryptLong(str) console.log('加密后的结果:', cryptStr) // 定义私钥 const privateKey = ` -----BEGIN RSA PRIVATE KEY----- MIICWgIBAAKBgFnWSUwsmGawhMJ30z6y5li2jcf1m7rPMZcwZOS3To8bk3OBaMGh VEc1F8GtJBbc1rn/HCLNL9zrCy21EefJON8tRFcYHnpseZSzh+349lIhS+MFw9x4 JUddwSPDyxwha929cKzMuVoftu3CJ+kqDBVvxLk7iDBzUMqW3Kgehk2TAgMBAAEC gYBRChPeyk/EOrHX912xLpLKLguh+LY9g1B50ScChzUvtTGDPZaxLQYoogVHKhfn I9nzuOS5pBzsDX9tAO0hCQzqfHgqRjn+vEgm1Ui+f0E3BVRnhobcJKZpZqlvCBR5 Gu2+zlrY4SeGq3AuQSr/A5FiB5k0RgsvNycDTjqyg7TXGQJBAJoZ8Yr0zakxT1I8 lVqsFbeNPtt8FNG2UgIlIs9RL7aXhw+Y3sWtk/kbaOXafSofu0NcQYx4Km3M3kiP lcNfTJ8CQQCVPcaRpu+mprRgHS6s76Z668NaFsjX04CUUa0kCrey+Nf/SJJ3BkRH M7GllZWuI/RSXs/F5N38p5bfkn7QZqaNAkBy3dHJZW8DpgjdYOFnhAxwFK39BwGx zHhWtv26kWbCcTKwsp+jtB4vunm3k+RmiN6aeGM35L6jt+kdJ0JYLmo7AkBJpRZb wZj5D8Jqu3vQ8uGgPr9DsYKinkgQ6M0bv/4uXwWXf+Rmv7zpteSv5UTbjfp+uzKk YO/6QWj+InhZto3xAkAOA0i702dLHm5elLWvht7UEYIDEW1+rYGdbthmJBvT9sZh VKL954Y9hDzBWepjYsBiJnmIkgeladPnU5025/G/ -----END RSA PRIVATE KEY----- ` // 设置私钥 rsa.setPrivateKey(privateKey) // 解密 const originalStr = rsa.decryptLong(cryptStr) console.log('解密后的原始数据:', originalStr) 其他api参考jsencrypt插件 4、注意事项 填空方式默认pkcs1,目前暂不支持其它填空方式。 5、更新提示 之前偶现的加密异常的问题已于v2.0.0+版本中修复。 之前偶现的解密后部分中文乱码的问题已于v2.1.0+版本中修复。 6、测试对比 推荐两个第三方rsa工具,仅供参考。 在线生成rsa公私钥:http://travistidwell.com/jsencrypt/demo/ (推荐1024长度的密钥) 在线rsa加解密:http://www.toolzl.com/tools/testrsa.html (117超长加密,128超长解密) 7、添加到微信小程序 // 导入包 import WxmpRsa from 'wxmp-rsa' // 实例化rsa const rsa = new WxmpRsa() // 定义公钥 const publicKey = '************************' // 设置公钥 rsa.setPublicKey(publicKey) // 加密 export function jsencrypt(str) { return rsa.encryptLong(str) } module.exports = { jsencrypt } 调用 const encrypt = require("../../../utils/encrypt") phone = encrypt.jsencrypt(phone)
2021年09月10日
334 阅读
1 评论
0 点赞
2021-09-08
javascript RSA公钥加密
首先引入js文件 <script type="text/javascript" src="https://passport.cnblogs.com/scripts/jsencrypt.min.js"></script> 然后,js里面就可以这么加密了 var encrypt = new JSEncrypt(); encrypt.setPublicKey("这里放入你的公钥"); var encryptData = encrypt.encrypt("这里放要加密的字符串");//加密后的字符串 console.log(encryptData)
2021年09月08日
119 阅读
0 评论
1 点赞
2021-08-24
解决vue页面注入js修改input值
会碰到这个问题一般是想×别人的网页导致的,一般来说想控制别人写的网页(或者维护一份别人的网页代码)碰到需要用JS给input或者select之类的组件赋值的时候一般会直接这样写: var targertEle = document.getElementsByTagName('textarea')[1]; targertEle.value = 'test'; 赋值后点击有时候会报错有时候不会,一般报错的情况基本上属于这份代码用了某些前端框架,例如Vue之类的,Vue的input弄个双向绑定啥的,此时我们用原生的JS企图去控制输入框的值就会出现无效的情况(明明input上有数字或者字符但是点击按钮就是说你没填内容)。因为此时只是修改了value属性,没有触发input或change事件,导致输入没有最终确定。input和change事件默认情况下(作者设计的时候),只有当接收到键盘的按键(随便哪个键盘的按键消息),就会触发input和change事件,进而把输入框中的value赋值给预设的相关变量,到这一步才算走完整个设置value的过程。所以如果想给这类加料的输入框或者选择框用原生JS赋值,设置vlaue属性过后就必须手动触发一下input或change事件。下面是例子: var targertEle = document.getElementsByTagName('textarea')[1]; targertEle.value = 'test'; event.initEvent("input", true, true); event.eventType = 'message'; targertEle.dispatchEvent(event); 如果是select选择框把"input"改成"change"即可
2021年08月24日
184 阅读
0 评论
1 点赞
2021-08-19
原生JavaScript 处理 动态光标 插入 文字
原生JavaScript 处理 动态光标 插入 文字 鼠标点哪插哪 code: <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <body> <input name="" id="txt1" cols="30" rows="10" :placeholder= /><br> <input type="text" name="" id="txt2"> <input type="button" value="添加" id="btn"> <input type="button" value="获取内容" id="btn1" οnclick="get()"> <div id="thistext"></div> <script type="text/javascript"> window.onload = function () { var oTxt1 = document.getElementById("txt1"); var oTxt2 = document.getElementById("txt2"); var oBtn = document.getElementById("btn"); oBtn.onclick = function () { getValue("txt1", oTxt2.value); } } </script> <script type="text/javascript"> function get() { document.getElementById("thistext").innerHTML = document.getElementById("txt1").value; console.log(document.getElementById("txt1").value) } //了在IE、Firefox、Opera等主流浏览器的获取光标位置(getCursortPosition)以及设置光标位置(setCursorPosition)的函数 //objid:textarea的id str:要插入的内容 function getValue(objid, str) { var myField = document.getElementById("" + objid); //IE浏览器 if (document.selection) { myField.focus(); sel = document.selection.createRange(); sel.text = str; sel.select(); } //火狐/网景 浏览器 else if (myField.selectionStart || myField.selectionStart == '0') { //得到光标前的位置 var startPos = myField.selectionStart; //得到光标后的位置 var endPos = myField.selectionEnd; // 在加入数据之前获得滚动条的高度 var restoreTop = myField.scrollTop; myField.value = myField.value.substring(0, startPos) + str + myField.value.substring(endPos, myField.value.length); //如果滚动条高度大于0 if (restoreTop > 0) { // 返回 myField.scrollTop = restoreTop; } myField.focus(); myField.selectionStart = startPos + str.length; myField.selectionEnd = startPos + str.length; } else { myField.value += str; myField.focus(); } } </script> </body> </html>
2021年08月19日
141 阅读
0 评论
0 点赞
2021-08-19
js-xlsx js本地处理excle
js-xlsx js本地处理excle 插件 github 地址 用法: // $(".btn-file") input[file] 元素 $(".btn-file").on("change", function (ev) {//当文件上传 var reader = new FileReader(); reader.onload = function (e) { try { var data = e.target.result; var workbook = XLSX.read(data, { type: 'binary' }); var sheetNames = workbook.SheetNames; // 工作表名称集合 var worksheet = workbook.Sheets[sheetNames[0]]; // 只读取第一张sheet var json = XLSX.utils.sheet_to_json(worksheet);//解析成json json = JSON.parse(JSON.stringify(json)) console.log(json) var arr = []; for (var i in json) { for (var j in json[i]) { arr[0] = j; arr.push(json[i][j]); } } console.log(arr.join(","))//最终输出拼接数据 } catch (err) { console.log(err) alert("文件类型不正确"); return false; } }; reader.readAsBinaryString(ev.target.files[0]); })
2021年08月19日
97 阅读
0 评论
0 点赞
1
...
14
15
16
...
22