Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 2344|Ответ: 3

[Источник] Шифруйте бэкенд с помощью алгоритма RSA (. NET) расшифровано

[Скопировать ссылку]
Опубликовано 6.09.2024 08:44:03 | | | |
Требования: Исходный пароль пользователя в проекте должен быть передан бэкенду, поскольку бэкенд должен вызывать сторонний интерфейс с паролем. Если пароль не передаётся в открытом тексте, если он пойман инструментом захвата пакетов, пароль будет утечен. В конечном итоге был принят алгоритм RSA: фронтенд шифровал пароль с помощью публичного ключа, а бэкэнд — приватный ключ для расшифровки.

Фронтенд использует пакет jsencrypt, адрес:Вход по гиперссылке виден.

Если бэкенд имеет .NET 5 или выше, вы можете использовать встроенные функции, если нет — используйте следующие параметры:

Шифрование и расшифровка в формате .NET/C# RSA PEM.
https://www.itsvse.com/thread-10602-1-1.html

Во-первых, используйте openssl для генерации публичных и приватных ключей, эта статья выполняется непосредственно на Linux (пожалуйста, скачайте и установите openssl на системе Windows), команда следующая:



cat rsa_1024_priv.pem
-----НАЧАТЬ ЗАКРЫТЫЙ КЛЮЧ RSA-----
MIICXAIBAAKBgQDTyd/KP2JuidA0JA+7i8FCzKCdn2Gq/ChfLpnBFcHb9vKgZb6n
aK2UXynpTbO6l5CVU4KG7w/hUJgxUQsSzNIsnPQuNpop/FO9doiV5l/94Hcuj17f
2AAEQGkWC8EvZBoMDr2JRVDBEji3l6mHXmTduCjH7VpuQyJRGHzWQu8HnwIDAQAB
AoGARat4Ifkd8U0Gn9BpGIIN7mKQR6nhoDTZNw6GZ903a5veDuPJhxrJVzDDAcuc
3znyxxy0qJzF9ZHkrvyBDwsv7AGyVfg6fwwLxvrsJS1MpwKLY3yqbPVk3hnaOECO
915XcbkVua+DGVjwtyX37CxPuSDaH2ut+kIQ3xci+BreSpkCQQD3FfgYELZgrHDk
JQaSiILCnFbld+NBuTm4CHPCN+XDZwzvC8sH4M9my7kznxAQosHbm+aGaOK1k4+k
zKgaiJzVAkEA223oSa7UMyMf/K/dEFmGjKBWQYP7gjLxcsxDHdwTpKHBEuZ32IT2
nuvYxsaOATqg8WABAJHWmT2Rj/joeAx8owJBANaLovLygAoNcbEIXV6bXj8xlVqG
8TO+a9narPk1pDI5psdijBb5I930g4nJUh+/02inRFHtfP2Bdbb5ZfY0LUkCQDxJ
iCamaBrcra8pSl1xm2wLqWc6seFlyby2rkIH80WqQ3fD5m2QqomjVt3WM7HWv91R
eTUE3KchqVqbEpPZKm0CQD7VMRAb1NNH+BNjuGxZB3AQSJvRXhpJ+w3ckSP6IX0L
N0OoHtvH5lvtm7hfB5nDUBYhqN3wj7wDNiK9Vrdyqow=
-----КОНЕЦ ПРИВАТНОГО КЛЮЧА RSA-----
cat rsa_1024_pub.pem
-----НАЧАТЬ ОТКРЫТЫЙ КЛЮЧ-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTyd/KP2JuidA0JA+7i8FCzKCd
n2Gq/ChfLpnBFcHb9vKgZb6naK2UXynpTbO6l5CVU4KG7w/hUJgxUQsSzNIsnPQu
Npop/FO9doiV5l/94Hcuj17f2AAEQGkWC8EvZBoMDr2JRVDBEji3l6mHXmTduCjH
7VpuQyJRGHzWQu8HnwIDAQAB
-----КОНЕЦ ОТКРЫТОГО КЛЮЧА-----

Создайте новую веб-страницу index.html с следующим исходным кодом:

Туристы, если вы хотите увидеть скрытое содержание этого поста, пожалуйстаОтвет


Создайте новое консольное приложение .NET 8 с следующим исходным кодом:


Откройте веб-страницу index.html с помощью браузера, проверьте шифрование и используйте приложение .NET для расшифровки, как показано на следующем рисунке:



Примечание: И шифрование, и расшифровка очень длинных строк не сработают, и требуется сегментированное шифрование и расшифровка. Для конкретики вы можете обратиться к:Вход по гиперссылке виден.

(Конец)




Предыдущий:Docker смотрит на последнюю конкретную (соответствующую) версию изображения
Следующий:Jenkins (7) Linux Server собирает Jenkins версии 2.462.1
 Хозяин| Опубликовано 2024-10-14 15:51:48 |
Генерируйте публичные и приватные ключи длиной 2048

 Хозяин| Опубликовано 2024-10-14 17:10:13 |
Ещё одна фронтенд-библиотека RSA-шифрования и расшифровки, node-forge, представляет собой полностью нативную реализацию протокола TLS на JavaScript, набор криптографических утилит и инструментов для разработки веб-приложений, использующих большие объёмы сетевых ресурсов.

https://www.npmjs.com/package/node-forge

Уже используется в Angular, установлен с npm следующим образом:

Код фронтенда следующий:

Код на сервере .NET:



 Хозяин| Опубликовано 2024-10-16 08:23:58 |
RSA шифрует максимальный размер данных
Вход по гиперссылке виден.


В алгоритме шифрования RSA максимальный размер блока для кодирования зависит от выбранной длины ключа. В целом RSA-ключи могут иметь длину 1024, 2048 или 4096 бит.

Для 1024-битного ключа максимальный размер блока составляет 117 байт. Это означает, что при использовании 1024-битного ключа максимальный блок данных, который можно зашифровать, составляет 117 байт.

Для ключей размером 2048 бит максимальный размер блока составляет 245 байт. Это означает, что при использовании ключа 2048 бит максимальный блок данных, который можно зашифровать, составляет 245 байт.

Для 4096-битных ключей максимальный размер блока составляет 512 байт. Это означает, что при использовании ключа размером 4096 бит максимальный блок данных, который можно зашифровать, составляет 512 байт.

Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com