Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 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 сървър изгражда 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