我正在尝试解密来自mirc的FiSH插件加密的一些消息 . 该插件使用blowfish加密作为模式ECB基于密钥,但首先它将消息加密为code64,然后使用blowfish ECB . 问题是当我尝试使用blowfish解密消息后,从base64解码它总是得到相同的错误 . “在ECB模式下,数据必须与块边界对齐”

des加密的消息是:“Probando un mensaje cifrado”

from Crypto.Cipher import Blowfish

from Crypto.Util.Padding import pad, unpad

from os import urandom

import base64

key = b"passw0rd"

text =b"+OK Tnkrh0sIoWb1oS1FT.RQop/.JPXNc.lclFO/gueZ4/ZwN1H0"

decode64 = base64.b64decode(text)

decrypt = Blowfish.new(key,Blowfish.MODE_ECB)

msg = decrypt.decrypt(decode64)

print(msg)

site-packages\Crypto\Cipher\_mode_ecb.py", line 163, in decrypt

raise ValueError("Data must be aligned to block boundary in ECB mode")

ValueError: Data must be aligned to block boundary in ECB mode

WITH NON-STANDARD TABLE:

custom_a = "./0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

standard_a = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'

DECODE_TRANS = str.maketrans(custom_a,standard_a)

key = b"passw0rd"

text ="Tnkrh0sIoWb1oS1FT.RQop/.JPXNc.lclFO/gueZ4/ZwN1H0"

decode64 = base64.b64decode(text.translate(DECODE_TRANS))

decrypt = Blowfish.new(key,Blowfish.MODE_ECB)

msg = decrypt.decrypt(decode64)

print(msg)

java blowfish ecb,来自blowfish / base64的解密消息时出错相关推荐

  1. Dbeaver无法正常启动-Caused by: java.lang.ClassNotFoundException: 自动激活 bundle org.eclipse.core.resources时出错

    问题描述: 最近,在服务器上打开 DBeaver 时无法启动,提示如下: 原因分析: 通过查看日志,找到报错信息: Caused by: java.lang.ClassNotFoundExceptio ...

  2. Android报加密错误,在android中解密使用aes/gcm/nopadding加密的消息时出错

    我目前正在使用aes/gcm/nopadding执行密码操作. 我的加密代码: fun encrypt(plainText: ByteArray, key: Key): ByteArray? { va ...

  3. ImageUtils.java:图片处理工具类[裁剪/图片水印/文字水印/缩放补白/Base64加密解密]

    用到的jar包: commons-beanutils-1.8.0.jar commons-codec-1.10.jar package com.zhenzhigu.commons.util;   im ...

  4. Java base64加密解密 两种实现方式

    1.为什么要使用Base 64 Base 64主要用途不是加密,而是把一些二进制数转成普通字符,方便在网络上传输. 由于一些二进制字符在传输协议中属于 控制字符,不能直接传送,所以需要转换一下才可以. ...

  5. java实现加密———Base64加解密

    java实现Base64加解密 @Testpublic void test01() throws Exception {String name = "LuWenMenHu";Str ...

  6. Java 实现 Base64 加密解密方法

    1. Base64 加密算法 1.1 标准 Base64 算法 Base64 编码是程序开发中比较常用的一种编码算法,是常用来存储或传输一些二进制数据的方法,也是 MIME(多用途互联网邮件扩展)中的 ...

  7. java base64 加解密_java Base64加解密

    import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class Base64Util { public stati ...

  8. JAVA Base64加密解密

    关于base64编码Encode和Decode编码的几种方式 Base64是一种能将任意Binary资料用64种字元组合成字串的方法,而这个Binary资料和字串资料彼此之间是可以互相转换的,十分方便 ...

  9. Base64加解密的实现方式

    本实现方式基于JDK 1.8 实现: import java.util.Base64; import java.util.Base64.Decoder; import java.util.Base64 ...

  10. Python实现AES中ECB模式pkcs5padding填充加密/解密(需要加密文档中可以有中文)

    Python实现AES中ECB模式pkcs5padding填充加密/解密(需要加密文档中可以有中文) 一.本文主要解决的问题 二.完整版代码 结果: 三.遇到的问题 1.填充格式错误 2.传入类型错误 ...

最新文章

  1. (最新最全)windows使用anaconda安装pytorch进行深度学习并使用GPU加速
  2. c# 的 textbox 默认情况下是有最大字符长度限制的
  3. coordinatorlayout 设置不可滑动_滑动关闭App损害iPhone电池寿命,我们需要“改掉强迫症”吗?...
  4. 中国工业节能减排产业项目盈利模式及投资风险预警报告2021-2027年
  5. boost::shared_from_raw相关的测试程序
  6. perl one line
  7. Feign从配置文件中读取url
  8. 24、mysql连接线程的show和kill
  9. hdu5446——Unknown Treasure
  10. 《SpringCloud超级入门》使用Eureka编写注册中心服务《九》
  11. 如何锻炼一个人处理问题的能力?
  12. C#操作ini文件类
  13. windows系统突然提示winload.exe文件错误
  14. java 32进制10进制互转
  15. “网络侦探”基础教程
  16. 【中危】Sweet32: TLS 64位分组密码生日攻击(CVE-2016-2183)
  17. 【js】判断时间段之间是否有重叠
  18. 安产链为安全生产保驾护航 | FinTechathon 安产链团队
  19. 《算法笔记》学习笔记 part1
  20. 数学 - 超级次方 - Leetcode 372

热门文章

  1. C#毕业设计——基于C#+asp.net+ACCESS的电子商务网站设计与实现(毕业论文+程序源码)——电子商务网站
  2. BGP双平面实验---bgp的选路
  3. Unity直线轨迹导弹预判
  4. 操作系统文件保护及文件共享
  5. mysql外键代码_SQL数据库外键代码
  6. Promise的含义和用法
  7. 软件测试技术什么是分支覆盖,分支覆盖率测试是什么?
  8. SEO入门一篇就够-SEO教程
  9. C#日历控件(MonthCalendar)
  10. C# monthCalendar