Результат: «Расшифрованные данные не являются строкой». Я не знаю почему. Кто-нибудь, помогите мне. Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.
#include "php.h"
#include "ext/standard/info.h"
#include "ext/standard/php_string.h"
#include "ext/standard/base64.h"
PHP_FUNCTION(my_openssl_public_decrypt) {
zend_string *data, *public_key;
zval func_name;
zval result;
zval params[3];
zval decrypted_zval;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "SS", &data, &public_key) == FAILURE) {
RETURN_FALSE;
}
zend_string *raw_data=php_base64_decode_ex((const unsigned char*)(ZSTR_VAL(data)), ZSTR_LEN(data), 0);
ZVAL_STR(&func_name, zend_string_init("openssl_public_decrypt",strlen("openssl_public_decrypt"),0));
ZVAL_STR(¶ms[0],raw_data);
ZVAL_NEW_REF(¶ms[1],&decrypted_zval);
ZVAL_STR(¶ms[2],public_key);
if (call_user_function(EG(function_table), NULL, &func_name, &result, 3, params) == FAILURE) {
php_error_docref(NULL, E_WARNING, "Failed to call openssl_public_decrypt");
php_printf("%s","Failed to call openssl_public_decrypt\r\n");
RETURN_FALSE;
}
if (Z_TYPE(result) == IS_TRUE) {
if (Z_TYPE(decrypted_zval) == IS_STRING) {
RETURN_TRUE;
} else {
php_printf("%s","Decrypted data is not a string\r\n");
php_error_docref(NULL, E_WARNING, "Decrypted data is not a string");
RETURN_FALSE;
}
} else {
php_printf("%s","Decryption failed\r\n");
php_error_docref(NULL, E_WARNING, "Decryption failed");
RETURN_FALSE;
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... ic-decrypt
Как я могу получить результат openssl_public_decrypt? ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1735048366
Anonymous
Результат: «Расшифрованные данные не являются строкой». Я не знаю почему. Кто-нибудь, помогите мне. Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.Спасибо.
#include "php.h"
#include "ext/standard/info.h"
#include "ext/standard/php_string.h"
#include "ext/standard/base64.h"
PHP_FUNCTION(my_openssl_public_decrypt) {
zend_string *data, *public_key;
zval func_name;
zval result;
zval params[3];
zval decrypted_zval;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "SS", &data, &public_key) == FAILURE) {
RETURN_FALSE;
}
zend_string *raw_data=php_base64_decode_ex((const unsigned char*)(ZSTR_VAL(data)), ZSTR_LEN(data), 0);
ZVAL_STR(&func_name, zend_string_init("openssl_public_decrypt",strlen("openssl_public_decrypt"),0));
ZVAL_STR(¶ms[0],raw_data);
ZVAL_NEW_REF(¶ms[1],&decrypted_zval);
ZVAL_STR(¶ms[2],public_key);
if (call_user_function(EG(function_table), NULL, &func_name, &result, 3, params) == FAILURE) {
php_error_docref(NULL, E_WARNING, "Failed to call openssl_public_decrypt");
php_printf("%s","Failed to call openssl_public_decrypt\r\n");
RETURN_FALSE;
}
if (Z_TYPE(result) == IS_TRUE) {
if (Z_TYPE(decrypted_zval) == IS_STRING) {
RETURN_TRUE;
} else {
php_printf("%s","Decrypted data is not a string\r\n");
php_error_docref(NULL, E_WARNING, "Decrypted data is not a string");
RETURN_FALSE;
}
} else {
php_printf("%s","Decryption failed\r\n");
php_error_docref(NULL, E_WARNING, "Decryption failed");
RETURN_FALSE;
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79305754/how-can-i-get-the-result-of-openssl-public-decrypt[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия