cipher 加密解密

import javax.crypto.Cipher;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.IvParameterSpec;
import java.security.Key;
import java.util.Base64;/*** cipher test** @author Jonathan Meng* @date 24/04/2019*/
public class CipherTest {private static final String DEFAULT_ENCODING_UTF_8 = "UTF-8";private static final String DES_KEY = "desKey11";// must be 8 bytes longprivate static final String DES_IV = "desIv222";private static final String DATA = "{\"applyNo\":\"1\",\"certNo\":\"2\",\"userMobile\":\"3\"}";private static final String CIPHER_ALGORITHM = "DES/CBC/PKCS5Padding";private static final String SECRET_KEY_ALGORITHM = "DES";public static void main(String[] args) throws Exception {String securityParam = encrypt(DATA.getBytes());System.out.println(securityParam);System.out.println(decrypt(securityParam));}private static String decrypt(String securityParam) throws Exception {Cipher decrypt = getCipher(Cipher.DECRYPT_MODE);byte[] result = decrypt.doFinal(Base64.getDecoder().decode(securityParam));return new String(result, DEFAULT_ENCODING_UTF_8);}private static String encrypt(byte[] bytes) throws Exception {Cipher encrypt = getCipher(Cipher.ENCRYPT_MODE);return new String(Base64.getEncoder().encode(encrypt.doFinal(bytes)), DEFAULT_ENCODING_UTF_8);}private static Cipher getCipher(int mode) throws Exception {Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);// set encrypt modecipher.init(mode, getSecretKey(), new IvParameterSpec(DES_IV.getBytes(DEFAULT_ENCODING_UTF_8)));return cipher;}private static Key getSecretKey() throws Exception {return SecretKeyFactory.getInstance(SECRET_KEY_ALGORITHM).generateSecret(new DESKeySpec(DES_KEY.getBytes(DEFAULT_ENCODING_UTF_8)));}
}

cipher 加密解密相关推荐

  1. Java 文件(夹)加密解密工具(附带压缩功能)

    1 使用说明 CipherUtil.java ZipUtil.java ZipCipherUtil.java FileUtil.java FrmMain.java 1 使用说明 图1 主界面 图2 加 ...

  2. java之php、Android、JAVA、C# 3DES加密解密

    异常如下 1.javax.crypto.BadPaddingException: Given final block not properly padded 1)要确认下是否加密和解密都是使用相同的填 ...

  3. 如何优雅的实现 Spring Boot 接口参数加密解密?

    点击关注公众号,Java干货及时送达 加密解密本身并不是难事,问题是在何时去处理?定义一个过滤器,将请求和响应分别拦截下来进行处理也是一个办法,这种方式虽然粗暴,但是灵活,因为可以拿到一手的请求参数和 ...

  4. python实现加密字符串_Python实现对字符串的加密解密方法示例

    本文实例讲述了Python实现对字符串的加密解密方法.分享给大家供大家参考,具体如下: 需求是是要将密码存在数据库里,所以要加密解密是可逆的,在数据库里不要有特殊字符,防止数据库备份和恢复中出错. 安 ...

  5. Spring Cloud构建微服务架构:分布式配置中心(加密解密)

    最近正好想发一篇关于配置中心加密的细节内容,结果发现基础的加密解密居然漏了,所以在这个入门系列中补充一下.后面再更新一下,使用配置中心的一些经验和教训. 在微服务架构中,我们通常都会采用DevOps的 ...

  6. java 实现 DES加密 解密算法

    DES算法的入口参数有三个:Key.Data.Mode.其中Key为8个字节共64位,是DES算法的工作密钥:Data也为8个字节64位,是要被加密或被解密的数据:Mode为DES的工作方式,有两种: ...

  7. 可以考的python方面的证书-python有证书的加密解密实现方法

    本文实例讲述了python有证书的加密解密实现方法.分享给大家供大家参考.具体实现方法如下: 最近在做python的加解密工作,同时加完密的串能在php上能解出来,网上也找了一些靠谱的资料,刚好也有时 ...

  8. Go加密解密之DES

    一.DES简介 DES(Data Encryption Standard)是对称加密算法,也就是加密和解密用相同的密钥.其入口参数有三个:key.data.mode.key为加密解密使用的密钥,dat ...

  9. C# Java间进行RSA加密解密交互

    C# Java间进行RSA加密解密交互 原文:C# Java间进行RSA加密解密交互 这里,讲一下RSA算法加解密在C#和Java之间交互的问题,这两天纠结了很久,也看了很多其他人写的文章,颇受裨益, ...

  10. 【Android 安全】DEX 加密 ( Java 工具开发 | 加密解密算法 API | 编译代理 Application 依赖库 | 解压依赖库 aar 文件 )

    文章目录 一.加密解密算法 API 二.编译代理 Application 依赖库 三.解压代理 Application 依赖库 aar 文件 参考博客 : [Android 安全]DEX 加密 ( 常 ...

最新文章

  1. 百度开设「黄埔学院」,革新者来
  2. gatdata获取曲线_GetData软件使用--获取曲线图中的数据
  3. taro 重新加载小程序_taro-music一款开源网易云音乐小程序
  4. Web - 客户端存储的几种方式
  5. android toast通知关闭,屏蔽系统通知,Toast无法显示的解决方案 v2.0.0
  6. Matlab结构第三版,MATLAB程序设计(原书第3版)
  7. html 字符串最后加空格,js给字符串每个字符中间加空格
  8. php 运算验证码类,php 数学运算验证码实现代码
  9. 一篇文章搞懂数据仓库:三范式与反范式
  10. vb6 方法‘ ’作用于对象 失败_JS基础入门-对象的使用
  11. “三步走”助你完成领导者转变
  12. CCF202009-5 密信与计数【AC自动机】(100分题解链接)
  13. Consider defining a bean of type ‘com.bsj.system.service.RedisService‘ in your configuration.
  14. java点名代码滚动_经典案例实现-点名器
  15. html全屏代码怎么写,JS实现全屏的四种写法
  16. Java内存模型JMM
  17. 笔记本(宏基4741G)升级为固态硬盘
  18. MinGW-w64没有bin文件解决方法
  19. Touchgfx - 4 - Bitmap Cache
  20. Mezzanine汉化

热门文章

  1. unity3d + lua + 斗地主 系列 (2) 创建扑克规则
  2. 【SpringCloudAlibaba】微服务组件Dubbo
  3. css和html实现梦幻西游页面特效
  4. vue run dev报错 缺少package.json文件
  5. Unity系统Cube的法线
  6. UVa 437 The Tower of Babylon (DAG最长路)
  7. python 股票分析_Python 股票分析入门
  8. P2184 贪婪大陆 (线段树+差分思维)
  9. 你知道了区块链,现在该了解DCEP央行数字货币了
  10. mac 文字识别软件ocr_树洞OCR文字识别软件for mac-树洞OCR文字识别mac版v1.2.0 最新版-腾牛苹果网...