zoukankan      html  css  js  c++  java
  • Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES RSA

    【前言】

    本文简单的介绍了加密技术相关概念,最后总结了java中现有的加密技术以及使用方法和例子

    【最简单的加密】

    1.简单的概念

    明文:加密前的信息

    密文:机密后的信息

    算法:加密或解密的算法

    密钥:算法使用的钥匙(读作miyao,正确应该是miyue,但是大家都读miyao)


    2.简单的例子

    将123456每位数字都加1后得到234567,

    其中123456就是明文,234567就是密文,加密密钥就是1,加密算法是每位加


    3.对称加密和非对称加密

    以上为例,

    123456-->234567的加密密钥就是1,加密算法是每位+

    234567-->123456的解密密钥也是1,解密算法是每位-

    其中加密算法(+)和解密算法(-)相对称,这种加密算法就称作对称加密,

    同样,如果加密算法和解密算法不对称就称之为非对称加密。


    4.算法举例

    对称加密算法:DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法,AES算法

    非对称加密算法:RSA、Elgamal、背包算法、Rabin、D-H、ECC。

    经典的哈希算法:MD2、MD4、MD5 和 SHA-1(目的是将任意长输入通过算法变为固定长输出,且保证输入变化一点输出都不同,且不能反向解密)


    5.经典的算法
    AES(对称),RSA(非对称),MD5,SHA-1(哈希)

    【算法举例】

    1.base64

    不是加密算法,是一种编码方式,由于加密后都是byte[],为了可读性,一般将byte[]转为base64编码

    例子:Java 加密 base64 encode 

    2.md5

    也不是算法,是消息摘要算法第五版,是一种哈希算法,一般用于单向加密

    例子:Java 加密 MD5 

    3.AES

    对称加密算法,DES的取代者

    例子:Java 加密 AES 对称加密算法 

    4.RSA

    待更新

  • 相关阅读:
    Java StringBuffer 和 StringBuilder 类
    Java String 类
    Java Character 类
    windows server R2 搭建ftp服务
    虫师的使用经验
    Linux 使用NC命令监听本地端口
    MYSQL让别人远程访问自己的数据库
    crontab
    tomcat日志切割脚本
    测试分布式部署页面sso
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/5824647.html
Copyright © 2011-2022 走看看