У Golang rsa нет NO_PADDING?
Но openssl в порядке. Для шифрования данных и другого языка зашифрованные данные с помощью Golang не могут быть дешифрованы нормально, но использование PHP и Openssl может быть нормальным, а позже найдено, как Golang не поддерживает расшифровку NO_PADDING, похоже, только PKCS1.
Openssl увеличивает параметр - raw может нормальное дешифрование. Закрытый ключ выше, шифр и дешифрованное правильное значение.
Может кто-нибудь помочь мне взглянуть на то, как решить?golang rsa decrypt no padding?
$ cat private.pem
-----BEGIN RSA PRIVATE KEY-----
MIIBOgIBAAJBANJS/xu+NtmDqobnhCdLjWk46aYbBk/mQrLcozAIbQLFG2mgkrxf
B5+CgtISKpKfmRfCO2NhceK+YedaMMBUxn8CAQMCQQCMN1S9KXnmV8cEmlgaMl5G
JfEZZ1mKmYHMkxd1WvNXLNuke9ntKwti8zG1lAFcOVHnm/uYsNdua+lvvQlEgBUL
AiEA/c8ezGaNUFwEAltwTEFtFItT5PyOXlWIdPAZ7j160lkCIQDUI8f/chEmLxG1
5kPcRtyJsQRdAcnQZ5QOz6S0nBnUlwIhAKk0vzLvCOA9WAGSSt2A82MHjUNTCZQ5
BaNKu/Qo/Iw7AiEAjW0v/6FgxB9hI+7X6C89sSCtk1aGiu+4Cd/DIxK74w8CIB4q
rA1k247JrqKTGlqSHVr1Ta+h3BPbwFKCi5CiDOjV
-----END RSA PRIVATE KEY-----
$ xxd data.txt
00000000: 6d4b 5dab 6d64 45e1 e4cb 0ea8 20df b724 mK].mdE..... ..$
00000010: cfe5 db3e 75c4 e80e 2337 4f08 1b36 87b4 ...>u...#7O..6..
00000020: 7550 47d4 ed60 576a a160 2d01 3cf7 4c50 uPG..`Wj.`-.<.LP
00000030: 7e44 6432 1f9d cfe2 2e9f 4f89 f815 ae01 ~Dd2......O.....
$ base64 -i data.txt
bUtdq21kReHkyw6oIN+3JM/l2z51xOgOIzdPCBs2h7R1UEfU7WBXaqFgLQE890xQfkRkMh+dz+Iun0+J+BWuAQ==
$ cat data.txt | openssl rsautl -decrypt -inkey private.pem -raw
qYnYKT2mxuXR5XB615gOenqxOnIUjWs7
что именно вы хотите сказать .. пожалуйста, используйте английский, чтобы сделать его более понятным. – Brij
Я думаю, мы должны снова открыть этот вопрос: язык не слишком хорош, но 1) автор, предположительно, не носитель языка; 2) суть вопроса заметна и может быть сформулирована так: «Почему пакет' crypto/rsa' Go поддерживает только схемы дополнений OAEP и PKCS # 1 и не позволяет использовать операции RSA для данных без заполнения? ». Ответ, я думаю, может быть вызван причинами, изложенными здесь (http://crypto.stackexchange.com/a/15184) (что в основном означает «НЕ ДЕЛАЙТЕ ЭТО»), но, возможно, для обработки устаревших данных/протокола и их актуальности. – kostix
@ohko, возможно, вы захотите записать ошибку в [bugtracker] проекта (https://github.com/golang/go/issues). Если вы это сделаете, убедитесь, что 1) попытайтесь сформулировать, почему вам нужна поддержка операций RSA без прокладки - не просто размещайте ссылку на это обсуждение; 2) Пожалуйста, разместите ссылку на вопрос, который вы подали здесь (в качестве комментария), для дальнейшего использования. – kostix