Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python解密java(DESede/ECB/PKCS5Padding)密码_Java_Python_Encryption - Fatal编程技术网

使用python解密java(DESede/ECB/PKCS5Padding)密码

使用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

是否可以使用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");

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的解密方法,而不是所需的加密方法。请查看手册,您只需使用解密方法反转机制即可