zoukankan      html  css  js  c++  java
  • java中的DES,AES,BASE64,MD5和Cipher类MessageDigest类

    Cipher类位于javax.crypto包下,声明为 public class Cipher extends Object

    此类为加密和解密提供密码功能。它构成了 Java Cryptographic Extension (JCE) 框架的核心。

    为创建 Cipher 对象,应用程序调用 Cipher 的 getInstance 方法并将所请求转换 的名称传递给它。还可以指定提供者的名称(可选)。

    转换 是一个字符串,它描述为产生某种输出而在给定的输入上执行的操作(或一组操作)。转换始终包括加密算法的名称(例如,DES),后面可能跟有一个反馈模式和填充方案。

    转换具有以下形式:

    “算法/模式/填充”或

    “算法”

    (后一种情况下,使用模式和填充方案特定于提供者的默认值)。例如,以下是有效的转换:

    Cipher c = Cipher.getInstance("DES/CBC/PKCS5Padding");

    使用 CFB 和 OFB 之类的模式,Cipher 块可以加密单元中小于该 Cipher 的实际块大小的数据。请求这样一个模式时,可以指定一次处理的位数(可选):将此数添加到模式名称中,正如 "DES/CFB8/NoPadding" 和 "DES/OFB32/PKCS5Padding" 转换所示。如果未指定该数,则将使用特定于提供者的默认值。(例如,SunJCE 提供者对 DES 使用默认的 64 位)。因此,通过使用如 CFB8 或 OFB8 的 8 位模式,Cipher 块可以被转换为面向字节的 Cipher 流。

    --------------------------------

    MessageDigest类:

    java.security.MessageDigest类用于为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。简单点说就是用于生成散列码。信息摘要是安全的单向哈希函数,它接收随意大小的数据,输出固定长度的哈希值。关于信息摘要和散列码请參照《数字证书简单介绍

    MessageDigest 通过其getInstance系列静态函数来进行实例化和初始化。MessageDigest 对象通过使用 update 方法处理数据。不论什么时候都能够调用 reset 方法重置摘要。一旦全部须要更新的数据都已经被更新了,应该调用 digest 方法之中的一个完毕哈希计算并返回结果。

    对于给定数量的更新数据,digest 方法仅仅能被调用一次。digest 方法被调用后,MessageDigest  对象被又一次设置成其初始状态。

    参考出处:https://www.cnblogs.com/mengfanrong/p/3896447.html

    ---------------------------

    DES,AES,BASE64,MD5 可以用来加解密

  • 相关阅读:
    NLP入门之语音模型原理
    NLP入门之语音模型原理
    NLP入门之语音模型原理
    TCP/IP 协议
    TCP/IP 协议
    TCP/IP 协议
    TCP/IP 协议
    Android -- 官方下拉刷新SwipeRefreshLayout
    Android -- 官方下拉刷新SwipeRefreshLayout
    创业屡战屡败,如何找回激情?
  • 原文地址:https://www.cnblogs.com/mmh760/p/10838605.html
Copyright © 2011-2022 走看看