I struggle because of my incomplete knowledge of Java to convert this encryption code to Python code. These two results should have the same results. Help would be greatly appreciated.
Java function
import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import java.security.Key; class Main { public static void main (String[] args) throws java.lang.Exception { String s = "testings"; Cipher cipher = Cipher.getInstance("Blowfish/ECB/PKCS5Padding"); Key key = new SecretKeySpec("6#26FRL$ZWD".getBytes(), "Blowfish"); cipher.init(1, key); byte[] enc_bytes = cipher.doFinal(s.getBytes()); System.out.println(enc_bytes); } }
Python equivalent
def PKCS5Padding(string): byteNum = len(string) packingLength = 8 - byteNum % 8 if packingLength == 8: return string else: appendage = chr(packingLength) * packingLength return string + appendage def PandoraEncrypt(string): from Crypto.Cipher import Blowfish key = b'6#26FRL$ZWD' c1 = Blowfish.new(key, Blowfish.MODE_ECB) packedString = PKCS5Padding(string) return c1.encrypt(packedString)
results
Java Function: "?? ΒΎΓ΄"
Python function: "Γ4A-ΒΎ` * Γ£"
source share