نیما خسروی
2 سال پیش توسط نیما خسروی مطرح شد
2 پاسخ

رمزگشایی baseدر php

سلام ، من یک متن رمز گذاری شده دارم که طبق گفته های دوستام base64 هست!
میخوام این متن رو رمز گشایی کنم و یا شبیه ش رو رمز گذاری کنم توی جاوا یک الگوریتم هست که این کار رو انجام میده اما من میخوام این کار رو با php انجام بدم!
نمونه کد جاوا:

 import android.util.Base64;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;

/* compiled from: EncryptionHelper */
public class Hacker {
    private static final byte[] a = new byte[]{(byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0};
    public static String b = "bsxEoINUE6/sBI";
    public static String c = "xbYQgWxILYBvH6tH7U";

    static byte[] f(String str) {
        int i = 0;
        String substring = str.substring(0, 8);
        String substring2 = str.substring(8, 16);
        String substring3 = str.substring(16, 24);
        str = str.substring(24, 32);
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append(substring3);
        stringBuilder.append(substring);
        stringBuilder.append(str);
        stringBuilder.append(substring2);
        str = stringBuilder.toString();
        StringBuilder stringBuilder2 = new StringBuilder(str);
        while (i < stringBuilder2.length()) {
            if (stringBuilder2.charAt(i) >= '0' && stringBuilder2.charAt(i) <= '9') {
                stringBuilder2.setCharAt(i, (char) ((((str.charAt(i) - 48) + 5) % 10) + 48));
            }
            if (stringBuilder2.charAt(i) >= 'a' && stringBuilder2.charAt(i) <= 'z') {
                stringBuilder2.setCharAt(i, (char) ((((str.charAt(i) - 97) + 9) % 26) + 97));
            }
            i++;
        }
        return stringBuilder2.toString().getBytes();
    }

    public static String a(String str, String str2) {
        try {
            IvParameterSpec ivParameterSpec = new IvParameterSpec(a);
            SecretKeySpec secretKeySpec = new SecretKeySpec(Base64.decode(str2, 0), "AES");
            Cipher instance = Cipher.getInstance("AES/CBC/PKCS5PADDING");
            instance.init(2, secretKeySpec, ivParameterSpec);
            str = Base64.encodeToString(instance.doFinal(Base64.decode(str, 0)), 0);
            StringBuilder stringBuilder = new StringBuilder();
            stringBuilder.append("decrypt: ");
            stringBuilder.append(str);
            a("CardInfoToPayFragment:", stringBuilder.toString());
            return str;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public static String b(String str, String str2) throws Exception {
        byte[] f = f(str2);
        IvParameterSpec ivParameterSpec = new IvParameterSpec(a);
        SecretKeySpec secretKeySpec = new SecretKeySpec(f, "AES");
        Cipher instance = Cipher.getInstance("AES/CBC/PKCS7PADDING");
        instance.init(2, secretKeySpec, ivParameterSpec);
        str2 = new String(instance.doFinal(Base64.decode(str, 0)));
        a("LogAPIMessenger", str2);
        return str2;
    }

    public static String c(String str, String str2) {
        try {
            IvParameterSpec ivParameterSpec = new IvParameterSpec(a);
            SecretKeySpec secretKeySpec = new SecretKeySpec(Base64.decode(str2, 0), "AES");
            Cipher instance = Cipher.getInstance("AES/CBC/PKCS5PADDING");
            instance.init(1, secretKeySpec, ivParameterSpec);
            return Base64.encodeToString(instance.doFinal(Base64.decode(str, 0)), 0);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public static String d(String str, String str2) {
        try {
            byte[] f = f(str2);
            IvParameterSpec ivParameterSpec = new IvParameterSpec(a);
            SecretKeySpec secretKeySpec = new SecretKeySpec(f, "AES");
            Cipher instance = Cipher.getInstance("AES/CBC/PKCS7PADDING");
            instance.init(1, secretKeySpec, ivParameterSpec);
            f = instance.doFinal(str.getBytes());
            a("LogAPIMessenger", str);
            return Base64.encodeToString(f, 0);
        } catch (Exception unused) {
            return null;
        }
    }

    public static String e(String str, String str2) {
        try {
            byte[] bytes = str2.getBytes();
            IvParameterSpec ivParameterSpec = new IvParameterSpec(a);
            SecretKeySpec secretKeySpec = new SecretKeySpec(bytes, "AES");
            Cipher instance = Cipher.getInstance("AES/CBC/PKCS7PADDING");
            instance.init(1, secretKeySpec, ivParameterSpec);
            return Base64.encodeToString(instance.doFinal(str.getBytes()), 0);
        } catch (Exception unused) {
            return null;
        }
    }
}

و همچنین نمونه متن رمز گشایی:
GWrzSV/ar+I8Z03lg5rItqWN0OcpIvZlZ651mkF/6ydHQdkf793TytSjyWAN+sramJNFCf+fuKC6cNfTwCCvXgSuK841MSQqsttz/5Cl5mkOPWei6HEakC1FR7UAGIdx3ABS8FVvFlmrTWGyibG7ZAO9e8P/d0EqhZFX6/FYpvLsU9hJ7CU/WSQT7WEUeVY+7LvME83OW8Cs94XTD6LtT6E7O/BwJkhvdLh13D/SAFnHpZxKPmfFPk8//OJoFutkmhqNjCcbIfDwUxtKh8nWNg==

hesammousavi@


ثبت پرسش جدید
امانوئل
تخصص : :) بـالـاخـَرـہ ڪـَم و زیـاد...
@emnatkins 2 سال پیش مطرح شد
0

خدمت شما

برای رمز گشایی

<?php
base64_decode("کد مد نظر برای دیکد کردن");
?>

برای هش کردن

<?php
base64_encode("کد مد نظر برای انکود کردن");
?>

نیما خسروی
تخصص : برنامه نویس و طراح سایت
@nima.kh 2 سال پیش مطرح شد
0

این کار رو انجام دادم اما بجای یک کد جیسون برام یه متن نامشخص دیکد میکنه!
@emnatkins


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام