Кемеровские программисты php общаются здесь
Anonymous
Преобразование кода шифрования/дешифрования Java в PHP не работает
Сообщение
Anonymous » 12 май 2024, 20:01
У меня есть фрагмент кода Java для шифрования/дешифрования с использованием AES, и мне нужно преобразовать его в PHP для использования в моем веб-приложении. Я попробовал несколько подходов, но безуспешно. Ниже приведен код Java, который я пытаюсь преобразовать:
Код: Выделить всё
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
public class Main {
public static void main(String[] args) {
String encryptedData = "lmncpiedimdofipgnokfeppgfncimkac";
String secretKey = "0123456789ABCDEF"; // 16-character key
String iv = "0123456789ABCDEF"; // 16-character initialization vector
try {
String decryptedData = decrypt(encryptedData, secretKey, iv);
System.out.println("Decrypted data: " + decryptedData);
} catch (Exception e) {
System.err.println("Error while decrypting: " + e.getMessage());
e.printStackTrace();
}
}
public static String decrypt(String decData, String secretKey, String vector) throws Exception {
byte[] raw = secretKey.getBytes("utf-8");
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
IvParameterSpec iv = new IvParameterSpec(vector.getBytes("utf-8"));
cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
byte[] encrypted1 = decodeBytes(decData);
byte[] original = cipher.doFinal(encrypted1);
return new String(original, "utf-8");
}
public static String encodeBytes(byte[] bytes) {
StringBuffer strBuf = new StringBuffer();
for (int i = 0; i < bytes.length; i++) {
strBuf.append((char) (((bytes[i] >> 4) & 0xF) + ((int) 'a')));
strBuf.append((char) (((bytes[i]) & 0xF) + ((int) 'a')));
}
return strBuf.toString();
}
public static byte[] decodeBytes(String str) {
byte[] bytes = new byte[str.length() / 2];
for (int i = 0; i < str.length(); i += 2) {
char c = str.charAt(i);
bytes[i / 2] = (byte) ((c - 'a')
Он не возвращает никакого значения.
Подробнее здесь:
https://stackoverflow.com/questions/784 ... es-not-wok
1715533298
Anonymous
У меня есть фрагмент кода Java для шифрования/дешифрования с использованием AES, и мне нужно преобразовать его в PHP для использования в моем веб-приложении. Я попробовал несколько подходов, но безуспешно. Ниже приведен код Java, который я пытаюсь преобразовать: [code]import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; public class Main { public static void main(String[] args) { String encryptedData = "lmncpiedimdofipgnokfeppgfncimkac"; String secretKey = "0123456789ABCDEF"; // 16-character key String iv = "0123456789ABCDEF"; // 16-character initialization vector try { String decryptedData = decrypt(encryptedData, secretKey, iv); System.out.println("Decrypted data: " + decryptedData); } catch (Exception e) { System.err.println("Error while decrypting: " + e.getMessage()); e.printStackTrace(); } } public static String decrypt(String decData, String secretKey, String vector) throws Exception { byte[] raw = secretKey.getBytes("utf-8"); SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES"); Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); IvParameterSpec iv = new IvParameterSpec(vector.getBytes("utf-8")); cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv); byte[] encrypted1 = decodeBytes(decData); byte[] original = cipher.doFinal(encrypted1); return new String(original, "utf-8"); } public static String encodeBytes(byte[] bytes) { StringBuffer strBuf = new StringBuffer(); for (int i = 0; i < bytes.length; i++) { strBuf.append((char) (((bytes[i] >> 4) & 0xF) + ((int) 'a'))); strBuf.append((char) (((bytes[i]) & 0xF) + ((int) 'a'))); } return strBuf.toString(); } public static byte[] decodeBytes(String str) { byte[] bytes = new byte[str.length() / 2]; for (int i = 0; i < str.length(); i += 2) { char c = str.charAt(i); bytes[i / 2] = (byte) ((c - 'a') [/code] Он не возвращает никакого значения. Подробнее здесь: [url]https://stackoverflow.com/questions/78468276/java-encryption-decryption-code-conversion-to-php-does-not-wok[/url]
Преобразование кода шифрования/дешифрования Java в PHP не работает
Anonymous »
12 май 2024, 20:01 » в форуме
JAVA
У меня есть фрагмент кода Java для шифрования/дешифрования с использованием AES, и мне нужно преобразовать его в PHP для использования в моем веб-приложении. Я попробовал несколько подходов, но безуспешно. Ниже приведен код Java, который я пытаюсь...
0 Ответы
29 Просмотры
Последнее сообщение Anonymous
12 май 2024, 20:01
Функция дешифрования PHP, соответствующая функции шифрования Java
Anonymous »
28 ноя 2024, 19:44 » в форуме
JAVA
Может ли кто-нибудь дать мне код PHP, соответствующий этой функции Java?
public String deciphering(String text,String key) {
String[] parts = text.split( : );
byte[] iv = Base64.getDecoder().decode(parts );
byte[] encryptedText =...
0 Ответы
11 Просмотры
Последнее сообщение Anonymous
28 ноя 2024, 19:44
Функция дешифрования PHP, соответствующая функции шифрования Java
Anonymous »
28 ноя 2024, 19:44 » в форуме
Php
Может ли кто-нибудь дать мне код PHP, соответствующий этой функции Java?
public String deciphering(String text,String key) {
String[] parts = text.split( : );
byte[] iv = Base64.getDecoder().decode(parts );
byte[] encryptedText =...
0 Ответы
17 Просмотры
Последнее сообщение Anonymous
28 ноя 2024, 19:44
Функция дешифрования PHP, соответствующая функции шифрования Java
Anonymous »
29 ноя 2024, 13:02 » в форуме
JAVA
Может ли кто-нибудь дать мне код PHP, соответствующий этой функции Java?
public String deciphering(String text,String key) {
String[] parts = text.split( : );
byte[] iv = Base64.getDecoder().decode(parts );
byte[] encryptedText =...
0 Ответы
9 Просмотры
Последнее сообщение Anonymous
29 ноя 2024, 13:02
Функция дешифрования PHP, соответствующая функции шифрования Java
Anonymous »
29 ноя 2024, 13:02 » в форуме
Php
Может ли кто-нибудь дать мне код PHP, соответствующий этой функции Java?
public String deciphering(String text,String key) {
String[] parts = text.split( : );
byte[] iv = Base64.getDecoder().decode(parts );
byte[] encryptedText =...
0 Ответы
10 Просмотры
Последнее сообщение Anonymous
29 ноя 2024, 13:02