使用python解密java(DESede/ECB/PKCS5Padding)密码
是否可以使用python在java(加密和解密)中实现这种技术 在这里,3DES在java代码中使用使用python解密java(DESede/ECB/PKCS5Padding)密码,java,python,encryption,Java,Python,Encryption,是否可以使用python在java(加密和解密)中实现这种技术 在这里,3DES在java代码中使用 Cipher cipher = Cipher.getInstance("DESede/ECB/PKCS5Padding"); String keytext = "key......"; byte[] keyArray = keytext.getBytes("utf-8"); SecretKey key = new SecretKeySpec(keyArray, "DESede"); Strin
Cipher cipher = Cipher.getInstance("DESede/ECB/PKCS5Padding");
String keytext = "key......";
byte[] keyArray = keytext.getBytes("utf-8");
SecretKey key = new SecretKeySpec(keyArray, "DESede");
String mytext = "anytext......";
Cipher.init(1, key);
byte[] enc = cipher.doFinal(plaintext.getBytes("utf-8"));
String value = Base64.getUrlEncode().encodeToString(enc);
return value;
希望有人能在这方面帮助我,如果可能的话,使用python2或python3实现这一点
from Crypto.Cipher import DES3
from Crypto.Random import get_random_bytes
while True:
try:
key = DES3.adjust_key_parity(get_random_bytes(24))
break
except ValueError:
pass
cipher = DES3.new(key, DES3.MODE_CFB)
plaintext = b'We are no longer the knights who say ni!'
msg = cipher.iv + cipher.encrypt(plaintext)
print(msg)
摘自PyCryptodome手册本身:编辑:
from Crypto.Cipher import DES3
from Crypto.Random import get_random_bytes
while True:
try:
key = DES3.adjust_key_parity(get_random_bytes(24))
break
except ValueError:
pass
cipher = DES3.new(key, DES3.MODE_CFB)
plaintext = b'We are no longer the knights who say ni!'
msg = cipher.iv + cipher.encrypt(plaintext)
print(msg)
摘自PyCryptodome手册本身:pycrypto不再受支持,PyCryptodome是后续项目。很可能这段代码在pycryptodome上运行时不会改变。感谢@Snix,我正在寻找使用python的解密方式,而不是所需的加密方式。请查看手册,您只需使用解密方法反转机制pycryptodome不再受支持,pycryptodome是后续项目。很可能这段代码在pycryptodome中运行时不会发生变化。谢谢@Snix,我正在寻找使用python的解密方法,而不是所需的加密方法。请查看手册,您只需使用解密方法反转机制即可