
java
文章平均质量分 75
wangpf2011
这个作者很懒,什么都没留下…
展开
-
网络信息安全之敏感信息在传输、显示时如何加密和脱敏处理
客户端通过http协议获取系统重要敏感信息时,很容易造成敏感信息泄露。攻击者可以利用收集的重要敏感信息有针对性的制定计划对系统进行攻击。如何防护呢?首先应根据业务特点定义出系统存储的敏感信息,另外敏感信息在存储、传输、显示时应进行加密或脱敏处理。1、敏感数据上传客户端将敏感数据加密后上传至服务端,敏感信息Data采用对称加密算法进行加密传输,对称加密密钥Key采用非对称加密传输。具体步骤如下所示。1)服务端生成有效密钥对,并将PublicKey返回给客户端。公私钥在一个会话周期内有效,若重新登录原创 2021-01-25 19:30:15 · 11166 阅读 · 4 评论 -
记一次由ehcache缓存引起的shiro登录信息变更失败的解决方案
问题描述:apache shiro是一个被广泛使用的安全层框架,用户的登陆/退出/权限控制/Cookie等功能都可以交给shiro来管理。项目开发中登录认证也是正是采用shiro进行管理的,由于shiro默认对ehcache的支持,所以shiro缓存管理我们采用了ehcache。最近测试中偶尔发现,在对登录用户所属机构信息进行变更后,再次登录系统用户所属机构信息竟然没有发生变化,经分析发现是ehcache缓存引起的,用户所属机构变更后并未同步/清空缓存的用户信息。解决问题关键是在合适时机清空登录用户的ehc原创 2020-07-10 19:09:14 · 717 阅读 · 0 评论 -
JNA实战笔录
文章开始之前首先介绍下.dll/.so文件,我们知道用c/c++编写的程序如果用于Windows平台则编译为xxx.dll(dynamic link library)文件,Linux平台则编译为libxxx.so(shared object)文件。像在Android移动应用开发过程中,就经常调用动态链接库(.so文件),由于Android系统是基于Linux内核的,所以工程中引用的是.so文件。另...原创 2019-05-21 20:02:05 · 858 阅读 · 0 评论 -
RocketMQ设计原理分析
RocketMQ3.x及以前版本由阿里维护,RocketMQ4.x及以后版本是捐赠给Apache社区,孵化成为Apache顶级项目的版本号,这一点从RocketMQ客户端的包名由com.alibaba改为org.apache可以得到证实。本文主要从设计原理上对RocketMQ进行分析。一、RocketMQ发送消息三种方式:同步发送、异步发送、单向(Oneway)发送1、同步发送同步...原创 2019-05-20 23:01:07 · 2464 阅读 · 1 评论 -
Java反射机制、动态代理(过滤器Filter和拦截器Interceptor)
在介绍过滤器Filter和拦截器Interceptor之前,先大篇幅介绍下Java反射机制和动态代理(本来想着只是简单说明下这两个名称,但下笔介绍过程中发现对反射机制和动态代理一知半解,随进行了深入了解和源码剖析),动态代理主要使用了Java凡是机制来实现,而拦截器Interceptor又是通过动态代理实现的。一、Java反射机制在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方...原创 2018-12-02 11:14:25 · 3611 阅读 · 0 评论 -
高性能RPC框架Dubbo原理及应用
Dubbo是一款高性能Java RPC框架,同时也是一款服务治理框架,可以进行服务授权、服务路由、服务降级、软负载均衡等。总之等你熟悉或者使用Dubbo后会发现它有众多优点,明白为什么受到越来越多企业青睐。1、Dubbo框架Dubbo 架构具有以下几个特点,分别是连通性、健壮性、伸缩性、以及向未来架构的升级性。1)服务容器负责启动/加载/运行服务提供者。2)服务提供者在启动时,...原创 2018-11-19 19:41:08 · 201 阅读 · 0 评论 -
JDBC事务还原点使用示例
/** * JDBC事务还原点 * @param user * @return */ private boolean jdbcSave(User user) { boolean success = false; System.out.printf("[Thread : %s] save user :%s\n", Thread.currentThread().g...原创 2018-10-15 22:50:12 · 228 阅读 · 0 评论 -
TCP三次握手,四次挥手
三次握手协议所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。(1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。(2)第二次握手:Server收到数据包后由标志位SYN...原创 2018-09-03 11:00:57 · 154 阅读 · 0 评论 -
微信内置浏览器Ajax请求10s超时重发问题的解决方案
最近在做一个微信公众号的项目,期间遇到一个纠结了几天的问题,就是微信页面上激活一次Ajax,实际执行两次请求,由于现实情况原因,该Ajax请求有时延迟会在20s以上。分析后台日志发现,如果Ajax请求超过10s,后台就会再次收到相同请求,这是第一次请求就会自动阻止。导致的直接后果就是多次相同业务处理,无法正常返回,进而引发一系列问题。 立即上网查询,发现遇到相似问题的...原创 2018-04-24 16:14:29 · 8902 阅读 · 8 评论 -
Linux下Mosquitto安装和使用
一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备。Mosquitto也是MQTT官网推荐的一款消息代理软件。原创 2017-11-15 16:21:37 · 5846 阅读 · 0 评论 -
微信扫描自定义二维码关注公众号
技术要点:1、用户微信扫描二维码时,如何判断是否已经关注该公众号。2、怎么转向关注微信公众号界面,使用户很方便关注。为电动汽车充电设备开发一套通过微信公众号在线充电产品,产品实现如下功能,通过微信扫描充电设备上二维码,实现与充电设备的交互,控制充电设备启停。要求扫描二维码时,判断是否已经关注客户的微信公众号,如果已经关注直接进入业务界面,否则进入公众号关注界面。原创 2017-11-10 12:39:13 · 23913 阅读 · 10 评论 -
WebSocket机制,以及与Http不同
传统的Web模式在处理高并发及实时性需求的时候,会遇到难以逾越的瓶颈,需要一种高效节能的双向通信机制来保证数据的实时传输。在此背景下,基于HTML5规范的、有Web TCP之称的 WebSocket应运而生。早期HTML5并没有形成业界统一的规范,各个浏览器和应用服务器厂商有着各异的类似实现,如IBM的MQTT、Comet开源框架等。直到2014年,HTML5终于尘埃落地,正式落实为实际标准规范,各个应用服务器及浏览器厂商逐步开始统一,在 JavaEE7中也实现了WebSocket协议。至此无论是客户端还是转载 2017-10-18 22:46:38 · 477 阅读 · 0 评论