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 可以用来加解密

转载于:https://www.cnblogs.com/mmh760/p/10838605.html

java中的DES,AES,BASE64,MD5和Cipher类\MessageDigest类相关推荐

  1. C#加密解密(DES,AES,Base64,md5,SHA256,RSA,RC4)

    一:异或^简单加解密(数字类型) 1:原理: 异或用于比较两个二进制数的相应位,在执行按位"异或"运算时,如果两个二进制数的相应位都为1或者都为0,则返回0;如果两个二进制数的相应 ...

  2. Java中 LocalDate、LocalTime、LocalDateTime三个时间工具类的使用介绍

    Java中 LocalDate.LocalTime.LocalDateTime三个时间工具类的使用介绍 一.背景: 之前在做项目的过程中,对日期时间类没有一个系统的了解,总是在用的时候去搜索一下,解决 ...

  3. java中多线程之CAS(compareAndSet),Unsafe类大白话详解.

    java中多线程之CAS(compareAndSet),Unsafe类大白话详解 什么是CAS CAS原理 Unsafe类:     什么是CAS 比较并交换 在学习CAS之前,我们先了解一下JMM. ...

  4. 常用的加密有哪些?在Java中如何实现?(MD5、AES、RSA)

    参考: https://blog.csdn.net/qq_41570658/article/details/107694782 https://blog.csdn.net/qq_30054961/ar ...

  5. python和java中相同的 AES/CFB/NoPadding加密

    python和java的AES/CFB/NoPadding加密还是有点区别的 实现相同的加密方式 上代码 python中 def encrypt_(text):key = 'keyxxx'.encod ...

  6. Java中实现DES加解密的一个类

    //转byte应该要指定编码方式(不然可能会出错) //PASSWORD_CRYPT_KEY需要为八位字节 package com.global.util;import java.io.Unsuppo ...

  7. des 向量 java_在JAVA中使用DES算法

    DES算法提供CBC, OFB, CFB, ECB四种模式,MAC是基于ECB实现的. 一.数据补位 DES数据加解密就是将数据按照8个字节一段进行DES加密或解密得到一段8个字节的密文或者明文,最后 ...

  8. java messagedigest_Java 自带的加密类MessageDigest类(加密MD5和SHA)

    转载 转载自:http://www.tuicool.com/articles/nMNVVj Java 自带的数据加密类MessageDigest(MD5或SHA加密) 说明: 在网站中,为了保护网站会 ...

  9. java中的匿名类方法覆盖_Java技巧:用匿名类来实现简化程序调试

    Java技巧:用匿名类来实现简化程序调试 在Java中,匿名类(Anonymous inner classes)多用来处理事件(event handle).但其实,它们对于debug也很有帮助.本文将 ...

最新文章

  1. php利用上传文件,如何利用PHP上传文件
  2. 《JavaScript面向对象精要》读书笔记
  3. 利用大数据技术探索“数字公民”创新
  4. hard sampling
  5. web 攻击靶机解题过程
  6. 题意解读+详细题解-Leecode 319. 灯泡开关——Leecode每日一题系列
  7. 【OpenGL从入门到精通(三)】第一个点的理论
  8. 在iView中动态创建表格
  9. 前段时间是Flash大战HTML5,现在是SliverLight“被遗弃”,我啊羡慕你们的热闹。...
  10. EF中使用数据库的标量值函数
  11. 爱奇艺网络流量分析引擎QNSM及其应用
  12. 检查计算机新的更新失败,原神PC启动器检查更新失败怎么办?PC客户端报错解决方法...
  13. 终端安全管理之殇:安全管控能力与用户体验
  14. gvim中利用录制宏产生连续数字
  15. CZ880到手第一天测试,安装Windows11 To Go
  16. ⭐算法入门⭐《动态规划 - 串匹配》困难02 —— LeetCode 72. 编辑距离
  17. 步步为营二 C语言基本概念 和 数据类型
  18. 【电路设计】TTLCMOS芯片型号总结
  19. Auto-Exposure Fusion for Single-Image Shadow Removal——论文阅读
  20. 你感兴趣的视频,到底在不在B站?

热门文章

  1. django之同源策略
  2. Python list 初始化技巧
  3. 用JS获取地址栏参数的方法(超级简单)
  4. C# tif文件转jpg
  5. 华南理工大学2016年数学分析高等代数考研试题参考解答
  6. layoutSubviews 与 drawRect
  7. AJAX(异步的 JavaScript 和 XML)
  8. 零基础带你学习MySQL—分页查询(十八)
  9. win10我的电脑在哪里找到
  10. 身份证过期了银行卡还能用吗?