zoukankan      html  css  js  c++  java
  • 60分钟搞定JAVA加解密

    从摩尔电码到小伙伴之间老师来了的暗号,加密信息无处不在.从军事到生活,加密信息的必要性也不言而喻.
    今天,我们就来看看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

  • 相关阅读:
    欧拉公式
    isap的一些想法
    错误合集
    Hello World
    PAT (Advanced Level) Practice 1068 Find More Coins
    PAT (Advanced Level) 1087 All Roads Lead to Rome
    PAT (Advanced Level) 1075 PAT Judge
    PAT (Advanced Level) 1067 Sort with Swap(0, i)
    PAT (Advanced Level) 1017 Queueing at Bank
    PAT (Advanced Level) 1025 PAT Ranking
  • 原文地址:https://www.cnblogs.com/qwop/p/6637289.html
Copyright © 2011-2022 走看看