加密是用一种特殊的算法改变原有的数据,使未经授权的用户即使获得了已经加密的信息,但不知其解密的方法,仍然无法了解信息的内容。

    大体上分为单向加密双向加密,双向加密又可分为对称加密和非对称加密
 
    所谓单向加密就是非可逆加密,就是不可解密的加密方法,由于其在加密后会生成唯一的加密串,故而经常用于检测数据传输过程中是否被修改。常见的单向加密有MD5、SHA、HMAC。我们只是把他们作为加密的基础,单纯的以上三种加密并不可靠。
    
    所谓双向加密是可逆加密,采用秘钥进行加密和解密。包含对称加密和非对称加密对称加密是使用同样的秘钥进行加密和解密。非对称加密一般用两个秘钥完成加密解密,这两个秘钥是公开秘钥(公钥)和私有秘钥(私钥),公钥加密,私钥解密;私钥加密,公钥解密。
 
    BASE64严格的说,属于编码格式,而非加密算法。BASE64内容传送编码被设计用来把任意序列的8个字节描述为一种不易被人直接识别的形式。常用于邮件、http加密。
 
常见的单向加密:
 
    MD5(message-digest algorithm5)(信息-摘要算法)缩写,常用于文件校验,不管文件有多大,都能生成唯一的MD5值。
 
    SHA(Secure Hash Algorithm,安全三列算法),数字签名等密码学应用中的重要工具,被广泛用于的电商领域。虽然SHA和MD5都被碰撞法破解了,但SHA教MD5更为安全,是公认的安全算法。
 
    HMAC(HASH MESSAGE AUTHENTICATION CODE,散列消息鉴别码,基于秘钥的hash算法验证协议)。消息鉴别码实现的原理是:使用公开的函数和秘钥生成一个固定长度的值作为认证标识,用这个标识鉴别信息的完整性。使用一个秘钥生成固定大小的数据块,即MAC,并将其加入到消息中,然后传输。接收方与发送方共享秘钥进行鉴别认证等。
 
常见的双向加密:
 
    对称加密:DES、IDEA、RC2、RC4、SKIPJACK、RC5、AES等。
    
    非对称加密:RSA、DSA

java中加密的方式概述的更多相关文章

  1. 译:Java 中的正则表达式性能概述

    原文链接:https://www.baeldung.com/java-regex-performance 作者: baeldung 译者:Darren Luo 1. 概述 在本快速教程中,我们将展示模 ...

  2. Java中遍历HashMap方式

    本教程将为你展示Java中HashMap的几种典型遍历方式. 如果你使用Java8,由于该版本JDK支持lambda表达式,可以采用第5种方式来遍历. 如果你想使用泛型,可以参考方法3.如果你使用旧版 ...

  3. Java中CardLayout布局方式的应用

    import java.awt.CardLayout; import java.awt.Color; import java.awt.Container; import javax.swing.JBu ...

  4. Java中动态代理方式:

    JDK中生成代理对象的API 代理类所在包:java.lang.reflect.ProxyJDK实现代理只需要使用newProxyInstance方法,但是该方法需要接收三个参数,完整的写法是: st ...

  5. java中创建对象的方式

    Java中有5种创建对象的方式,下面给出它们的例子还有它们的字节码 使用new关键字 } → 调用了构造函数 使用Class类的newInstance方法 } → 调用了构造函数 使用Construc ...

  6. java中三种方式获得类的字节码文件对象

    package get_class_method; public class ReflectDemo { /** * @param args */ public static void main(St ...

  7. java中转换json方式(JSONArray,JSONObject),json解析

    package com.yunos.tv.video.resource.controller.web; import java.util.ArrayList; import java.util.Has ...

  8. java 中自定义类的概述

    作业: 描述商品类 Goods 4个属性 商品名字 大小 价格 库存 把商品类放进集合中 小米品牌 大小 价格 库存的数量 都存集合 华为..... 魅族 public class Goods{ St ...

  9. java中加密解密工具类

    在工作中经常遇到需要加密.解密的场景.例如用户的手机号等信息,在保存到数据库的过程中,需要对数据进行加密.取出时进行解密. public class DEStool { private String ...

随机推荐

  1. Flask (五) RESTful API

    RESTful API 什么是REST 一种软件架构风格.设计风格.而不是标准,只是提供了一组设计原则和约束条件.它主要用户客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易 ...

  2. flask_restful

    from flask_restful import (Resource, reqparse) # 参数解析对象生成 parser = reqparse.RequestParser() parser.a ...

  3. payload指安全测试数据

    payload,翻译过来是有效载荷 通常在传输数据时,为了使数据传输更可靠,要把原始数据分批传输,并且在每一批数据的头和尾都加上一定的辅助信息,比如数据量的大小.校验位等,这样就相当于给已经分批的原始 ...

  4. CodeForces - 1110C-Meaningless Operation(打表找规律)

    Can the greatest common divisor and bitwise operations have anything in common? It is time to answer ...

  5. POJ - 1733 离散化 并查集

    题意:求问数列区间奇偶信息正确与否 和上一题一样(甚至弱化),加个离散就ok啦 #include<iostream> #include<algorithm> #include& ...

  6. PKI公钥基础设施简介

    PKI(Public Key Infrastructure)公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书.一个机构通过采用PKI 框架管理密钥和证书可以建立一个安全的 ...

  7. vm 中安装 CentOS7

    第三步:安装ISO文件 1.在vm下,文件,新建虚拟机 在我的机算机中,选中刚命名的CentOS7,右键,属性 2.开启虚拟机 PS: 打开虚拟机之后,提示了一个小错误,LZ根据错误提示,到BIOS里 ...

  8. Wamp环境域名重定向问题

    打开浏览器输入地址跳转不到页面,还得再次输入www后的内容, 解决办法: D:\wamp\bin\apache\apache2.4.9\conf(这里安装在D盘所以是D) 目录中文件:httpd.co ...

  9. day_01 python基础 基本数据类型 if条件

    1. python简介 解释型,弱类型,高级开发语言2. 第一个python程序编写   1. 标点符号(英文)   2. 编码格式(utf-8)3.变量   把程序运行产生的中间值储存起来,方便后面 ...

  10. css 小知识点

    苹果浏览默认表单 单选 多选 下拉列表 效果的去除 提交按钮-webkit-appearance: none;-moz-appearance: none;-ms-appearance: none;ap ...