postgrelsql base64加密,JS base64解密
项目中做云桌面对接,需要在项目中查出用户的明文密码,拼接到云桌面登陆地址中,防止明文传输,做了base64加密解密,防止小白黑客盗取用户密码。
postgrelsql base64加密SQL语句:
查询用户证件号码后四位,base64加密的密码
SELECT
substr(idno, length(idno) - 3) idno,
ENCODE(cast(password as bytea),'base64') xm
FROM security.oauth_user
WHERE id = #{USERPK}
JS代码:
模拟post请求,云桌面需要Post请求模拟登陆,其他系统以get方式
/*
*功能: 模拟form表单的提交
*参数: URL 跳转地址
* PARAMTERS 参数
* METHOD post或者get
*/
function postUrl(URL, PARAMTERS,METHOD) {
//创建form表单
var temp_form = document.createElement("form");
temp_form.action = URL;
//如需打开新窗口,form的target属性要设置为'_blank'
temp_form.target = "_blank";
temp_form.method = METHOD;
temp_form.style.display = "none";
//添加参数
for (var item in PARAMTERS) {
var opt = document.createElement("textarea");
opt.name = PARAMTERS[item].name;
opt.value = PARAMTERS[item].value;
temp_form.appendChild(opt);
}
document.body.appendChild(temp_form);
//提交数据
temp_form.submit();
}
//打开APP链接
$scope.openUrl = function(app){
var parames = new Array();
var method = "get";
if(app.name == "云桌面" || app.id == "ebe6132d-cbcc-4349-aa36-5810fa55c048"){
var username = $scope.userInfo.pinyin + $scope.userInfo.idno;
var pwd = window.atob($scope.userInfo.pwd);
parames.push({ name: "login", value: username});
parames.push({ name: "passwd", value: pwd});
method = "post";
} postUrl(app.url, parames,method);
}
补充:
从IE10+浏览器开始,所有浏览器就原生提供了Base64编码、解码方法,不仅可以用于浏览器环境,Service Worker环境也可以使用。
方法名就是 atob 和 btoa ,具体语法如下:
window.btoa('china is so nb') // 编码
"Y2hpbmEgaXMgc28gbmI="
window.atob("Y2hpbmEgaXMgc28gbmI=") // 解码
"china is so nb"
开源的base64.js(https://github.com/dankogai/js-base64),使用很简单,浏览器引入该JS文件,然后Base64编码这样:
Base64.encode('china is so nb'); // 编码
"Y2hpbmEgaXMgc28gbmI="
Base64.decode("Y2hpbmEgaXMgc28gbmI="); // 解码
'china is so nb'
postgrelsql base64加密,JS base64解密的更多相关文章
- js base64加密,后台解密
这是为了解决页面发送post请求,传输密码,在页面的控制台可以看到密码的明文,所以先用base64把要传输的密码转换为非明文,然后在后台解密处理. base64encode.js // base64加 ...
- base64加密后无法解密
记录一个问题: 使用java,或者命令行 base64 命令加密图片文件成加密数据后无法还原成图片 深入:使用java base64工具(sun base64或bouncycastle)加密的数据替换 ...
- MD5加密,Base64加密/解密,AES加密/解密
1.从github上下载GTMBase64-master和AESCrypt-ObjC-master导入工程,如下图所示. 2.使用前的配置及注意事项: (1) 在build phases中的GTMBa ...
- 课外知识----base64加密
每3个字符产生4位的base64字符,不足3个字符,将用“=”补齐至4位base64字符 例如 00---> MDA= 000--->MDAw base64加密特点 加密后的字符数是4的 ...
- Jmeter编写Base64加密函数
方法一: 使用Beanshell Sampler.BSF Sampler等实现,现已Base64加密为例,脚本如下: import sun.misc.BASE64Decoder; String res ...
- base64加密小案例
python终端下: import base64 >>> dict='{"name":"tom"}' >>> dict.en ...
- base64加密原理
以加密字符串"HkMayfly"为例子 1.转换字符 将待加密字符串的每个字符转换为对应ASCII码的二进制形式并拓展为8位. 2.划分数据 每3个字符为一组,共24位,每6位划分 ...
- JS base64 加密和 后台 base64解密(防止中文乱码)
直接上代码 1,js(2个文件,网上找的) 不要觉的长,直接复制下来就OK //UnicodeAnsi.js文件 //把Unicode转成Ansi和把Ansi转换成Unicode function ...
- JS实现base64加密解密
JS实现base64加密解密 转载自http://blog.csdn.net/fengzheng0306/archive/2006/04/25/676055.aspx 方法一: <HTML> ...
随机推荐
- 项目Alpha冲刺随笔集合
班级:软件工程1916|W 作业:项目Alpha冲刺 团队名称:SkyReach 目标:完成项目Alpha版本 项目Github地址 评审表 团队博客汇总 队员学号 队员姓名 个人博客地址 备注 22 ...
- js的类型系统--js基于原型的基石是所有对象最终都能够类型自证
一.动态类型 变量能够类型自证的类型即为动态类型 二.基础与内置类型 三.对象与类型的关系 1.对象本身能够自证为基本类型: 2.元原型可能为一个空的集合: 3.复合对象的成员能够自证为基本类型: 4 ...
- python - django 解决 templates 模板语言语法冲突
# 在使用某个框架时发现语法与Django的模板语法冲突了,于是找到解决方案: {% verbatim %} // 被 verbatim 包裹起来的地方是不会被 django 渲染的 {% endve ...
- VMware空虚拟机通过网络安装系统时获取不到IP地址情况(基于Linux的DHCP服务器)
当虚拟机提示no DHCP or proxyDHCP offers were received时 1.dhcp服务配置错误(留意句尾分号“ :”) 2.dhcp服务未启动(用 systemctl s ...
- [RN] React Native 解决 使用 阿里巴巴 矢量图标库 iconfont 图标不垂直居中问题
React Native 解决 使用 阿里巴巴 矢量图标库 iconfont 图标不垂直居中问题 解决方法: 添加 size, line-height ,值为和 height 一样的高度. 例如: ...
- Kmeans文档聚类算法实现之python
实现文档聚类的总体思想: 将每个文档的关键词提取,形成一个关键词集合N: 将每个文档向量化,可以参看计算余弦相似度那一章: 给定K个聚类中心,使用Kmeans算法处理向量: 分析每个聚类中心的相关文档 ...
- 对 OAuth2 和非标 DingDing OAuth2 的一次尝试
印象中工作以来还从来没搞过一次 OAuth2 的接入- -,似乎只停留在愉快的使用阶段.比如现在很多网站都接了 wx 二维码扫码登录或者微博登录.所以一直只是享受着这样的便利,却没有机会自己来搞一搞把 ...
- Linux文件系统只读Read-only file system的解决方法
问题原因:系统没有正常关机,导致虚拟磁盘出现文件系统错误. 解决方法:使用fsck手动修复,具体操作如下: 重启系统后使用root进入单用户模式,运行 fsck.ext3 -y /dev/vda3 说 ...
- [Beta阶段]第九次Scrum Meeting
Scrum Meeting博客目录 [Beta阶段]第九次Scrum Meeting 基本信息 名称 时间 地点 时长 第九次Scrum Meeting 19/05/15 大运村寝室6楼 40min ...
- test软件工程第三次作业
零.前言 本次作业要求个人编写程序,截止日期2019年9月25日23:00. 请先阅读<构建之法>第一章至第三章的内容,并在下方作业里体现出阅读后的成果.特别是第2章中的效能分析及个人软件 ...