Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 2344|Відповідь: 3

[Джерело] Зашифруйте бекенд за допомогою алгоритму RSA (. NET) розшифровано

[Копіювати посилання]
Опубліковано 2024-9-6 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