一个java工程师必知的安全意识(信息传输篇)
我们在遇到涉及用户密码,用户联系方式,身份证信息等敏感字段的时候,一般的处理方式是:
1.传输使用密文,拒绝明文传输用户密码,推荐明文加盐加密,后台再解密
比如要传输的明文是123456的明文密码,我们一般要做以下处理
前台:var data = "123456";1.明文加随机盐(随机盐随机个数在加密解密时统一即可,这里以18位为例):var newData = randomString(18)+data;2.公钥加密:var pwd = 公钥加密方法(newData);具体js下载和使用可参考这里,免费的:https://www.bootcdn.cn/jsencrypt/后台:1.私钥解密String data = 私钥解密方法(pwd);2.去掉前18为随机盐字符串截取即可
//上面的公钥加密的样例实现
var 公钥加密方法 = function(明文,公钥) {if(公钥 == undefined){//没有传公钥就用默认的公钥 = 'asdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasd'}var jsencrypt = new JSEncrypt();jsencrypt.setPublicKey(公钥);return jsencrypt.encrypt(randomString(18)+明文);
}
//外面使用:
var olddata = '123456';
var newdata = 公钥加密方法(olddata );
2.后台日志中禁止打印明文密码,这时候可以用@JSONField(serialize=false)来防止打印出不想打印的属性
@JSONField(serialize=false)是阿里的fastJson的一个注解
比如你使用JsonUtil.toJSONString(Xxx类)打印一个类的时候,又不想打印类中的某个字段,就可以在改字段上加这个注解
比如:
@JSONField(serialize=false)private String password;
需要注意的是,如果这个属性被final修饰,那么这个注解貌似是不起作用的
一个java工程师必知的安全意识(信息传输篇)相关推荐
- 语言叮叮消息接口_五分钟学后端技术:如何学习Java工程师必知必会的消息队列...
原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 什么是消息队列 "RabbitMQ?""Kafka?""RocketMQ?" ...
- genicam 相机java,机器视觉必知-GenICam相机通用接口标准
机器视觉必知-GenICam相机通用接口标准 GenICam(相机通用接口): 一种通用软件接口 通用相机接口标准 目前机器视觉行业所使用的相机几乎均以相同方式来进行配置,即:---通过在注册表中的读 ...
- Python开发工程师必知十大机器学习库
Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,再加上其简单.易学.速度快.开源免费.可移植性.可扩展性以及面向对象的特点,Python成为2017年最受欢迎的最受欢迎的编程 ...
- java的标量和聚合量_第5节:Java基础 - 必知必会(下)
第5节:Java基础 - 必知必会(下) 本小节是Java基础篇章的第三小节,主要讲述Java中的Exception与Error,JIT编译器以及值传递与引用传递的知识点. 一.Java中的Excep ...
- 视频教程-Java工程师必学系列课程之4--《Java Swing》视频课程-Java
Java工程师必学系列课程之4--<Java Swing>视频课程 某知名科技公司技术总监,10年以上大型J2EE项目的实战研发经验,参与并主持开发"内蒙古电力集团考试系统&qu ...
- 每一个程序猿必知之SEO
似乎由于受这篇文章的影响 http://katemats.com/what-every-programmer-should-know-about-seo/ 于是我也觉得我应该写一个每一个程序猿必知之S ...
- java面试必知必会
java面试必知必会 面向对象 成员变量成员方法 Integer相关 double 和 Double相关 多态,向上转型 hashcode.==.equals比较 java中子类继承父类时是否继承构造 ...
- 电子工程师必知必会——矢网史密斯Smith Chart圆图测试阻抗
史密斯圆图是由很多圆周交织在一起的一个图.正确的使用它,可以在不作任何计算的前提下得到一个表面上看非常复杂的系统的匹配阻抗,唯一需要作的就是沿着圆周线读取并跟踪数据. 本期视频贝贝就带大家学习矢网的史 ...
- Java XxlJob 必知必会<续篇>
通过 Java XxlJob 必知必会 这篇文章的学习,我们大致知道了 xxljob 是做什么的,今天这篇文章我们将继续研究一下 xxljob 的其他使用场景. Step1: 创建一个运行模式为 P ...
最新文章
- SQL概念及DDL语句
- 谢文睿:西瓜书 + 南瓜书 吃瓜系列 2. 多元线性回归
- python3 的encode 和 decode
- TCP/IP详解--五层协议的作用以及对应的设备
- 基于pygame的射击小游戏制作(一)让飞船动起来
- numpy 和tensorflow中argmax(),argmin()函数使用讲解
- c++并发编程实战_Java 并发编程实战:JAVA中断线程几种基本方法
- 服务器任务管理器详细信息,任务管理器服务器主机
- JavaFX图表(三)之折线图
- 腾腾流氓,云云更流氓(问微信怎样接入支付宝支付),手贱的赶紧点,你会感谢我的...
- P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm
- maven junit空指针_Maven相关笔试面试题目
- 原生input和onchange
- java接口的叙述正确的_下列关于接口的描述中,正确的是:
- 开源的Web Service测试工具
- camera 驱动 raw bayer isp
- ArrayList集合学生管理系统,java笔试基础题
- 人像大片这么拍才像样:OPPO R15加入3D人像打光
- 手机端点击<li>标签出现背景色的问题和解决方案
- IPv6路由(学习日记)
热门文章
- 15 操作系统第四章 文件管理 文件的物理结构 文件存储空间管理
- interceptor 拦截器的使用 (session验证)
- HTML中关于图像和表格,链接等的知识
- ceSetThreadPriority设置线程优先级~!
- 一个简单的parser
- 使用异或运算交换两个任意类型变量
- 算法:合并排序(Merge Sort)
- MEF: MSDN 杂志上的文章(15) 拒绝【多个导出,但只用一个导入,会拒绝,但还是稳定的组合】...
- Error loading native library: libnjni9.so.的解决办法
- 牛客14355 翻硬币