qq_58162458 2021-09-23 06:01 采纳率: 76.5%
浏览 81
已结题

用java使用CBC模式的triple-des算法和pkcs7填充

这个加密算法那个兄弟会一点能给我讲讲吗?我有点看不懂这个加密方法

  • 写回答

1条回答 默认 最新

  • Winson.J 2021-09-23 06:43
    关注
    1. cbc模式比ebc模式除了加密的key以后,还需要一个混淆向量,混淆向量是一个固定长度的字节数组,;
    2. triple-des加密是按固定长度加密,如果加密的信息不是固定长度的整数倍,就需要填充缺少的部分;pkcs7就是填充的一种方式
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    qq_58162458 2021-09-26 03:33

    我能问一下我就是这个都是jdk支持的吗我看都基本是直接写上变量DESdes/CBC/pkcs7padding
    然后在下面直接使用cipher = Cipher.getInstance(CIPHER_ALGORITHM_ECB);这个方法
    其具体实现如下:设 Ek() 和 Dk() 代表 DES 算法的加密和解密过程,K 代表 DES 算法使用的密钥,P 代表明文,C 代表密文,这样:
    3DES 加密过程为:C = Ek3 ( Dk2 ( Ek1 ( P ) ) )
    3DES 解密过程为:P = Dk1 ( EK2 ( Dk3 ( C ) ) )
    不应该是这样吗我看代码实现只是生成了一个密钥

    回复
    qq_58162458 回复 qq_58162458 2021-09-26 03:34

    是DESede/CBC/pkcs7padding

    回复
    Winson.J 回复 qq_58162458 2021-09-26 03:55

    3DES 加密过程为:C = Ek3 ( Dk2 ( Ek1 ( P ) ) )
    3DES 解密过程为:P = Dk1 ( EK2 ( Dk3 ( C ) ) )
    上面的过程是原理;java已经实现上面的过程,我们使用时,只需要提供一个密钥,在CBC模式再提供一个iv向量就可以了,对明文加密,对密文解密。
    16字节密钥,简单点就使用16个字符的字符串作为密钥,然后getBtyes()就可以了;iv也一样

    回复
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 9月30日
  • 已采纳回答 9月23日
  • 创建了问题 9月23日

悬赏问题

  • ¥15 odoo17在制造模块或采购模块良品与次品如何分流和在质检模块下如何开发
  • ¥15 Qt音乐播放器的音乐文件相对路径怎么写
  • ¥15 VB.NET利用摄像头拍照的程序
  • ¥15 linux下vscode设置不了字连体
  • ¥20 游戏mod是如何制作的
  • ¥15 关于#hadoop#的问题:按照老师上课讲的步骤写的
  • ¥20 有人会用这个工具箱吗 付fei咨询
  • ¥30 成都市武侯区住宅小区兴趣点
  • ¥15 Windows软实时
  • ¥15 自有服务器搭建网络隧道并且负载均衡
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部