一个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修饰,那么这个注解貌似是不起作用的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/499946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于iOS7里的JavaScriptCore framework

在iOS7沸沸扬扬的扁平化论战之外,WWDC 2013还是公布了很多让开发者小兴奋的点,其中包括多任务加强支持background fetch和transfer,近场通信的AirDrop和p2p,以及游戏控制器和游戏中心的加强;当然还包括了让web开发同学…

[nginx报错]---unknown directive chunkin in /XXXXX/XXXXXX:XX的几种解决方式

问题: nginx报错:unknown directive “chunkin” in /XXXXX/XXXXXX:XX 解决: 当出现unknown directive,一般有个反应,就是nginx中,要么配置格式不对,要么多了什么东西,要么就是有不支持的语法…

[数据库] ------ mysql 执行计划

mysql 执行计划 简单来说,mysql整体架构分为三块:应用层,逻辑层,物理层 应用层:负责与客户端交互,建立连接,返回数据,响应请求。 逻辑层:负责查询处理,事务管…

[数据库] ------ mysql规范

mysql规范: mysql优化的第一步,就是规范,国有国法,家有家规,一个团队在一起开发,也一定要有一套明确的规范来相互制约,下面这些规范只是作为一个互联网行业的建议,我相信一个团队最…

深入浅出Fetch API

多年来,XMLHttpRequest一直是web开发者的亲密助手。无论是直接的,还是间接的, 当我们谈及Ajax技术的时候,通常意思就是基于XMLHttpRequest的Ajax,它是一种能够有效改进页面通信的技术。 Ajax的兴起是由于Google的Gmail…

[设计模式] ------ 策略模式

策略模式 它定义了算法家族,分别封装起来,让他们直接可以互相替换,此模式让算法的变化,不会影响到使用算法的客户 其实很简单,可能很多人都用到了,只不过还不知道这就是策略模式而已。 比如定义一个接口A…

OC语法简化

很多刚从其他编程语言转到Objective-C的同学看到长长的函数名会感到崩溃,这种语法让消息的传递像一个英语句子,大大增强了可读性。比如你想初始化一个浮点数,需要这么写: NSNumber value [NSNumber numberWithFloat:123.45f];从这…

[设计模式] ------ 简单工厂模式

简单工厂模式 不同类型下创建对应的不同的对象,得到不同的结果,就叫简单生产模式 比如 定义一个接口,叫A,里面有方法a,返回int类型 类B1实现A接口,也实现a方法,里面做的是加法运算 类B2实现…

Podfile语法

一、Podfile Podfile文件详细描述了一个或多个工程中targets的依赖关系。Podfile会默认创建一个隐式的目标链接到工程中用户的第一个target,名称为“default”。 一个Podfile可以非常简单: pod AFNetworking, ~> 1.0 也可以配置的复杂一点,如下: source https:/…

[设计模式] ------ 模板模式

模板模式 模板模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构,就可以重定义该算法的某些特定步骤 一般是定义一个抽象类,有抽象方法,有骨架方法&a…

获取本地沙盒文件的MIMEType

通过发送一个基于本地文件的URL请求,从响应对象中获取MIMEType值。代码如下:NSString *path [[NSBundle mainBundle] pathForResource:"测试文件"ofType:"pdf"]; //创建本地文件URL NSURL *url [NSURL fileURLWithPath:path]; //创…

第19章总结

一.Java绘图类 1.Graphics类 Graphics类是所有图形上下文的抽象基类,它允许应用程序在组件以及闭屏图像上进行绘制。Graphics类封装了Java支持的基本绘图操作所需的状态信息,主要包括颜色、字体、画笔、文本、图像等。 2.Graphics2D类 Graphics2…

如何写一个数据库中间件以及需要准备的知识储备

什么是数据库中间件 1.透明化使用方无感知,或者尽量少感知。通过现有的接入端接入已有服务 2.增量服务不改变数据库本身功能的前提下,提供额外的功能与服务一个原则不破坏原有逻辑,并且让用户基于之前的经验可以快速上手接入端协议的选择 1.…

HTTP断点续传

一、概述所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用到Range和Content-Range实体头。HTTP协议本身不支持断点上传,需…

RSA公钥文件(PEM)解析

公钥语法为: RSAPublicKey :: SEQUENCE { modulus INTEGER, //RSA合数模n publicExponent INTEGER //RSA公开幂e } 说明: 1.此语法中的modulus和publicExponent,提取自对应私钥中的同名域值。 2.PKCS1和PKCS8的公钥文件是一样的&#xff…

[spring boot] ------ 总结1

spring boot 设计目的:简化spring应用的初始搭建以及开发过程 spring环境的微服务:对原有技术的封装(spring springMVC) 简化开发,提高开发效率(原ssm--->spring boot mybatis) 自动配置&…

RSA私钥文件(PEM-PKCS#1)解析

在PKCS#1 RSA算法标准中定义RSA私钥语法 RSAPrivateKey :: SEQUENCE { version Version, //版本 modulus INTEGER, // RSA合数模 n publicExponent INTEGER, //RSA公开幂 e privateExponent INTEGER, //RSA私有幂 d prime1 INTEGER, //n的素数因子p prime2 INTEGER, //n的…

Spring的@Configuration使用cglib代理的效果和我自己写的简单实现

下面的代码,照着复制就能跑起来 今天看了下Spring的Configuration,即java类配置bean,(这个spring3的新功能,虽然现在已经spring5了,但是这种配置bean的方式也是比较火的) 做了如下测试,发现一个…

Xcode中StaticLibrary和Framework的共同点和区别

一、共同点:两者其实都是静态库。二、区别1.承载的内容范畴:(1)StaticLibrary的产出物只是一个.a文件,为二进制执行文件。分享给别人的时候,头文件、静态资源文件需要另外提供。(2)Framework为一站式分享方案,其实是一…

[分布式] ------ 全局唯一id生成之雪花算法(Twitter_Snowflake)

雪花算法(Twitter_Snowflake) 我们知道,分布式全局唯一id的生成,一般是以下几种: 基于雪花算法生成基于数据库基于redis基于zookeeper 本文说下雪花算法,后面附源码以及测试代码。 如下图: …