庄生晓梦

庄生晓梦迷蝴蝶

博客园 首页 新随笔 联系 订阅 管理
  164 随笔 :: 3 文章 :: 1 评论 :: 74038 阅读
从摩尔电码到小伙伴之间老师来了的暗号,加密信息无处不在.从军事到生活,加密信息的必要性也不言而喻.
今天,我们就来看看java怎么对数据进行加解密
分类
a.古典密码 -- 受限制算法:算法的保密性给予保持算法的秘密,通常用于军事领域

现代秘密 – 基于秘钥算法:算法的保密行基于对秘钥的保密(保证漏洞及时修正,以防算法发明者做过度操作)

b.对称密码:加密秘钥和解密秘钥相同
    非对称密码:加密秘钥为公钥,解密秘钥为私钥

c.散列函数:用于验证数据完整性  消息摘要算法 MD5   SHA 安全散列算法  MAC消息认证码算法
        长度不受限制
        哈希值容易计算
        散列运算过程不可逆(单向函数)

d.分组密码:加密时将名为分成固定长度的组,用统一秘钥和算法对每一块加密,输出也是固定长度的密文。多用于网络加密

e.流密码:序列密码 每次加载一个序列或一个字节

数字签名:主要是针对以数字的形式存储的消息进行的处理

OSI安全体系 – TCP/IP安全体系
OSI安全体系
这里写图片描述
TCP/IP对应OSI安全体系

Java安全组成
JCA – Java Cryptography Architecture
JCE – Java Cryptography Extension
DES AES RSA
JSSE – Java Secure Socket Extension
SSL:网络传输 保证在网络传输数据不被获取
JAAC – Java Authentication and Authentication service

相关java包和类
java.secutity :提供了对第三方包的扩展用法,只能用于实现消息摘要算法
javax.crypto : 安全消息照耀,消息认证码
java.net.ssl : 安全套接字(网络加解密)

第三方扩展
Bouncy Castle
配置或者调用
和表单验证第三方库名称冲突导致秘钥无效
Commons Codec:Apache
-Base64 二进制 十六进制 字符集编码
-url编码、解码

一般来说JDK是对加密算法的实现, Bouncy Castle做一些补充的操作, Commons Codec对JDK进行优化

JAVA加解密案例源码地址:http://download.csdn.net/detail/jacxuan/9774737

posted on   qwop  阅读(314)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示