Golang to PHP Script для расшифровки

Я пытаюсь расшифровать результат по номеру зашифрованной карты Wallester. У меня есть информация, как расшифровать от их поддержки, но в golang, и я попытался перевести ее с помощью phpseclib, но это не удалось.

    var resp model.GetEncryptedCardNumberResponse    
    rsa := crypto.NewRSA([]byte(rsaPrivateKey))
    decryptedCardNumber := rsa.DecryptOAEPFromPEM(resp.EncryptedCardNumber, crypto.LabelCardNumber)     
    log.Println(fmt.Sprintf("Decrypted card number: %s", decryptedCardNumber))

здесь мой php с использованием phpseclib версии 2

    $rsa = new RSA();
    $rsa->loadKey(file_get_contents(APPPATH .'rsa/private.pem'));
    $decryptedCardNumber = $rsa->decrypt($encryptedCardNumber, RSA::ENCRYPTION_OAEP, $label = 'CardNumber');
    echo decryptedCardNumber;

пример зашифрованных данных:

-----BEGIN CardNumber MESSAGE-----
ZGus1SGZCnsT7xoZKW1O8RXf3A+8dL6lf6TjsTqr3pgHHZpmFhJX0g8ZSGELPo9M
ILWg/jZag2vX7hwICILOJ3jxm0zwKpL4Gft4cUpnAK42NZakZUwPc7IZSQtRMhHI
jv3H135bJ9YBUOx/cJ1mLDKBcMPGUjwvikw/R3KKWBLViT4Og22K1WJp7w9FqrIy
Ucd65mh/jMGmbwIk9vuh90rxf3RHnykiuaHgE+f/hx3IDN7Glbxi2uivgO6C0sZE
PAdLi3RkIjo18VR9jzCobQ+mFwqcXHFQxO+FLU4CsTf7SyKzaDgnrsJIMyCIax04
QN79qabV91gSoqs1quL9NeRWCmsaWXKPeDMkCumrAxSjhkxcU7iM8S/ubG70Qr7Z
BsCnTCInuSqoQNu2soveU1m8t0+tq6q3JUnHq/AeegYsxsXjPO+1a0CvqpXLsDqi
0Vc2dy5SUmb1N9jpdIXIF17MtY5nY70pu7WaeEAWk/JqGGwED3aolmjO++f2upz1
Xzp0w1Sn5IYYKCxamV9JK+XCUS/XwIAphGCiJZOB0Oo36jgEAlQkJO4LYV8Xmv+D
2ntL8DtRrWg8z8qbA759uv+1CN5EzbLh9t1hGhdncDLpyQWqg1y0loHRXJ19z6Ik
WY/1RjBSxGFPpVHSB7j84JMp6NgbLItoBD2oUXr0IZo=
-----END CardNumber MESSAGE-----

кто-нибудь знает аналогичную функцию golang в PHP?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
72
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Наконец я нашел решение

Вот мой скрипт для расшифровки номера карты

сначала я очищаю результат

$encrypted=str_replace("-----BEGIN CardNumber MESSAGE-----","",$encrypted);
$encrypted=str_replace("-----END CardNumber MESSAGE-----", "",$encrypted);
$encrypted=str_replace("\n", "",$encrypted);

Начать декодирование (я использую phpseclib3)

$private = PublicKeyLoader::load(file_get_contents('/path/to/key.pem'));
$plaintext = $private->withLabel("CardNumber")->decrypt(base64_decode($encrypted));
echo $plaintext;

И получить открытый текст

Другие вопросы по теме