Bonjours a tous je suis un debutant dans la programation en java mais me debrouille plutot bien en C++ et en visual basic donc si je vous écrit aujourd'hui c'est pour savoir si quelqu'un pourrat me tranformer cette algorithme de cryptage codée en java en une method en c++ ou VB.net de préference merci d'avance
import java.security.NoSuchAlgorithmException;
import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
public class b
{
static char[] HEX_CHARS = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
private String iv = "2367657EQH3dqzTF";
private IvParameterSpec ivspec = new IvParameterSpec(this.iv.getBytes());
private SecretKeySpec keyspec = new SecretKeySpec(this.SecretKey.getBytes(), "AES" );
private Cipher cipher;
private String SecretKey = "rdsjyfl3573f57fZ";
public b()
{
try
{
this.cipher = Cipher.getInstance("AES/CBC/NoPadding" );
}
catch (NoSuchAlgorithmException localNoSuchAlgorithmException)
{
localNoSuchAlgorithmException.printStackTrace();
}
catch (NoSuchPaddingException localNoSuchPaddingException)
{
localNoSuchPaddingException.printStackTrace();
}
}
public byte[] encrypt(String paramString)
throws Exception
{
if ((paramString == null) || (paramString.length() == 0)) {
throw new Exception("Empty string" );
}
byte[] arrayOfByte = null;
try
{
this.cipher.init(1, this.keyspec, this.ivspec);
arrayOfByte = this.cipher.doFinal(a(paramString).getBytes());
}
catch (Exception localException)
{
throw new Exception("[encrypt] " + localException.getMessage());
}
return arrayOfByte;
}
public static String bytesToHex(byte[] paramArrayOfByte)
{
char[] arrayOfChar = new char[2 * paramArrayOfByte.length];
for (int i = 0; i < paramArrayOfByte.length; i++)
{
arrayOfChar[(2 * i)] = HEX_CHARS[((paramArrayOfByte[i] & 0xF0) >>> 4)];
arrayOfChar[(2 * i + 1)] = HEX_CHARS[(paramArrayOfByte[i] & 0xF)];
}
return new String(arrayOfChar);
}
public static byte[] hexToBytes(String paramString)
{
if (paramString == null) {
return null;
}
if (paramString.length() < 2) {
return null;
}
int i = paramString.length() / 2;
byte[] arrayOfByte = new byte[i];
for (int j = 0; j < i; j++) {
arrayOfByte[j] = ((byte)Integer.parseInt(paramString.substring(j * 2, j * 2 + 2), 16));
}
return arrayOfByte;
}
private static String a(String paramString)
{
char c = '\000';
int i = 16;
int j = paramString.length() % i;
int k = i - j;
for (int m = 0; m < k; m++) {
paramString = paramString + c;
}
return paramString;
}
}