Category: 编程
这是你的默认分类,如不需要,删除即可。
-
Java RSA+AES 混合加密完整工具类
Public业务标准方案:AES 加密业务明文,RSA 加密 AES 的密钥 为什么这么做:RSA 加密长度受限,适合加密短数据(AES 密钥、口令);AES 对称加密速度快,适合任意长度业务报文。 流程: 发送方:随机生成 AES 密钥 → AES 加密业务数据 → RSA (公钥) 加密 AES 密钥 传输
-
适用:SpringBoot 2.x/ 3.x,HikariCP 默认连接池;示例以 OpenGauss 为主,MySQL/PostgreSQL 只需要修改驱动类与连接串参数。 安全要点:密码不从配置文件明文写死、强制 SSL 证书校验、连接池安全参数、关闭敏感日志 1. pom.xml 依赖 <!-
-
Java RSA 加密 + 数字签名完整示例代码
Public要点说明: 密钥:RSA 2048,公钥加密,私钥解密;私钥签名,公钥验签 加密填充:RSA/ECB/OAEPWithSHA-256AndMGF1Padding(推荐,安全,替代不安全的 PKCS1v1.5) 签名算法:SHA256withRSA(先对原文做 SHA256 哈希,再 RSA 私钥签名
-
Java 防止 SQL 注入代码示例
Public核心原则:永远不要直接拼接字符串构造 SQL,优先使用 PreparedStatement(预编译语句),参数使用占位符 ?;MyBatis 使用 #{},禁止 ${}。 一、原生 JDBC PreparedStatement(推荐,防注入) import java.sql.Connection;
-
Java BCrypt 密码哈希示例代码
PublicBCrypt 自动内置随机盐,每次加密相同密码得到不同哈希字符串;验证时不需要单独存盐,直接传入原始密码 + 哈希串比对。 注意:JDK 没有内置 BCrypt,常用 org.mindrot:jbcrypt 包。 Maven 依赖 <dependency> <groupId>org.mind
-
Java MD5 示例代码
Public说明:JDK 自带 java.security.MessageDigest,MD5 仅用于摘要校验,不要用来存储密码。 输出结果为小写 32 位 MD5 字符串。 import java.security.MessageDigest; import java.security.NoSuchAlgor
-
Java 实现常见排序算法
Public下面提供冒泡、选择、插入、希尔、快速、归并、堆排序完整可运行代码,包含测试主方法,统一使用 int 数组演示,附带简要原理说明。 说明:所有实现为基础版本,方便理解原理;生产环境优先使用 Arrays.sort()。 import java.util.Arrays; public class So
-
时间戳与时间格式互相转换示例代码
Public时间戳:一般指 Unix 时间戳,秒级:从 1970‑01‑01 00:00:00 UTC 到现在的秒数;毫秒级 乘以 1000(JS 常用)。 注意:时间戳本身是 UTC,格式化输出会受时区影响。 Java(SpringBoot / Java17) 1. 时间戳 → 日期字符串 import ja
-
Java 解释器模式(Interpreter)示例代码
Public模式说明:解释器模式,给定一门语言,定义它的文法表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。属于行为型模式。 适用场景:简单语法解析、表达式计算、规则引擎、脚本片段解析。 角色: AbstractExpression(抽象表达式):定义解释方法 interpret() Termin
-
Java访问者模式(Visitor) 示例代码
Public访问者模式:把数据结构与数据操作分离,在不修改元素类的前提下,给元素增加新操作。核心角色: Element(元素接口):接收访问者 accept(Visitor) ConcreteElement:具体元素,实现 accept,调用 visitor.visit (this) Visitor(访问者接口