资源简介
登录时,用户的密码用明文传输,太不安全,应该加密传输,怎么做呢,对称加密一旦秘钥丢失则形同虚设,最好使用非对称加密的方式,由后端事先生成公钥和私钥,公钥发给前端页面,私钥后端自己保留,前端进行认证时,把密码原文用公钥加密再发给后端,后端用私钥解密而得到原文。非对称加密算法常用RSA算法,秘钥使用base64编码成字符串,后端使用jdk8的标准API,前端使用jsencrypt.js进行RSA的对应操作。经过测试,本例中的前后端代码的加密解密计算结果是一致的。
代码片段和文件信息
package com.test.service;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.base64;
/**
* base64编码解码工具包
*/
public class base64Util {
/**
* 文件读取缓冲区大小
*/
private static final int FILE_BUFFER_SIZE = 1024;
/**
* 二进制原文 编码为 base64字符串
*/
public static String encode(byte[] bytes) throws Exception {
return base64.getEncoder().encodeToString(bytes);
}
/**
* base64字符串 解码为 二进制原文
*/
public static byte[] decode(String base64Str) throws Exception {
return base64.getDecoder().decode(base64Str);
}
/**
* base64数据 解码为 二进制原文
*/
public static byte[]
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2920 2020-02-10 20:46 test\client\网页客户端.html
文件 2586 2020-02-10 19:38 test\service\ba
文件 3830 2020-02-10 19:38 test\service\RsaUtil.java
目录 0 2020-02-10 20:32 test\client
目录 0 2020-02-10 19:38 test\service
目录 0 2020-02-10 19:38 test
----------- --------- ---------- ----- ----
9336 6
- 上一篇:微机原理 课程设计 数字秒表
- 下一篇:数据结构设计性实验----表达式类型的实现
相关资源
- java 贪吃蛇小游戏代码
- 智能停车 微信小程序源码
- Node.js博客系统
- NodeJs实时通讯(WebSocket聊天室)
- PB调用http api接口 PB解析json
- AutoJs以及打包插件.rar
- 全网最全的autojs列子,有一千六百多
- Java秒杀系统方案优化-高性能高并发实
- JSP基于网络超市商品销售管理系统的
- BEA Weblogic Server 管理指南
- 能源管理系统-源代码,是初学者很好
- 基于.net的RSA私钥加密 公钥解密的源码
- json编辑操作的工具,可用于web开发
- 图片处理器
- 腾讯滑块图像识别源码 非JS算法 识别
- EXTJS 一个在线设计器,纯JS
- js绘图,绘制各种图形,纯js
- Revit模型转JSON数据测试数据JSON数据
- Unix下用户级线程库
- 在线拍照flash
- 网上在线竞拍系统
- iscroll.js 5.2.0最新版本
- 基于threejs的商场楼层展示导航系统源
- NodeJS本地上传文件至服务器
- json入门教程入门教程
- Mac 下最好用的Json编辑器 Json Edit
- swing 播放 rtsp 视频
- JsonView优化版,独一无二
- 四叉树建立和排序
- mybatis逆向工程Demo
评论
共有 条评论