java blowfish ecb,来自blowfish / base64的解密消息时出错
我正在尝试解密来自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的解密消息时出错相关推荐
- Dbeaver无法正常启动-Caused by: java.lang.ClassNotFoundException: 自动激活 bundle org.eclipse.core.resources时出错
问题描述: 最近,在服务器上打开 DBeaver 时无法启动,提示如下: 原因分析: 通过查看日志,找到报错信息: Caused by: java.lang.ClassNotFoundExceptio ...
- Android报加密错误,在android中解密使用aes/gcm/nopadding加密的消息时出错
我目前正在使用aes/gcm/nopadding执行密码操作. 我的加密代码: fun encrypt(plainText: ByteArray, key: Key): ByteArray? { va ...
- ImageUtils.java:图片处理工具类[裁剪/图片水印/文字水印/缩放补白/Base64加密解密]
用到的jar包: commons-beanutils-1.8.0.jar commons-codec-1.10.jar package com.zhenzhigu.commons.util; im ...
- Java base64加密解密 两种实现方式
1.为什么要使用Base 64 Base 64主要用途不是加密,而是把一些二进制数转成普通字符,方便在网络上传输. 由于一些二进制字符在传输协议中属于 控制字符,不能直接传送,所以需要转换一下才可以. ...
- java实现加密———Base64加解密
java实现Base64加解密 @Testpublic void test01() throws Exception {String name = "LuWenMenHu";Str ...
- Java 实现 Base64 加密解密方法
1. Base64 加密算法 1.1 标准 Base64 算法 Base64 编码是程序开发中比较常用的一种编码算法,是常用来存储或传输一些二进制数据的方法,也是 MIME(多用途互联网邮件扩展)中的 ...
- java base64 加解密_java Base64加解密
import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class Base64Util { public stati ...
- JAVA Base64加密解密
关于base64编码Encode和Decode编码的几种方式 Base64是一种能将任意Binary资料用64种字元组合成字串的方法,而这个Binary资料和字串资料彼此之间是可以互相转换的,十分方便 ...
- Base64加解密的实现方式
本实现方式基于JDK 1.8 实现: import java.util.Base64; import java.util.Base64.Decoder; import java.util.Base64 ...
- Python实现AES中ECB模式pkcs5padding填充加密/解密(需要加密文档中可以有中文)
Python实现AES中ECB模式pkcs5padding填充加密/解密(需要加密文档中可以有中文) 一.本文主要解决的问题 二.完整版代码 结果: 三.遇到的问题 1.填充格式错误 2.传入类型错误 ...
最新文章
- (最新最全)windows使用anaconda安装pytorch进行深度学习并使用GPU加速
- c# 的 textbox 默认情况下是有最大字符长度限制的
- coordinatorlayout 设置不可滑动_滑动关闭App损害iPhone电池寿命,我们需要“改掉强迫症”吗?...
- 中国工业节能减排产业项目盈利模式及投资风险预警报告2021-2027年
- boost::shared_from_raw相关的测试程序
- perl one line
- Feign从配置文件中读取url
- 24、mysql连接线程的show和kill
- hdu5446——Unknown Treasure
- 《SpringCloud超级入门》使用Eureka编写注册中心服务《九》
- 如何锻炼一个人处理问题的能力?
- C#操作ini文件类
- windows系统突然提示winload.exe文件错误
- java 32进制10进制互转
- “网络侦探”基础教程
- 【中危】Sweet32: TLS 64位分组密码生日攻击(CVE-2016-2183)
- 【js】判断时间段之间是否有重叠
- 安产链为安全生产保驾护航 | FinTechathon 安产链团队
- 《算法笔记》学习笔记 part1
- 数学 - 超级次方 - Leetcode 372