Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 2344|Resposta: 3

[Fonte] Criptografe o backend usando o algoritmo RSA (. NET) descriptografado

[Copiar link]
Postado em 2024-9-6 08:44:03 | | | |
Requisitos: A senha original do usuário no projeto deve ser passada para o backend, pois o backend precisa chamar uma interface de terceiros com a senha. Se a senha não for transmitida bem em texto simples, se for capturada pela ferramenta de captura de pacotes, a senha será vazada. O algoritmo RSA foi eventualmente adotado, com a interface criptografando a senha usando a chave pública e a backend usando a chave privada para descriptografá-la.

A interface usa o pacote jsencrypt, endereço:O login do hiperlink está visível.

Se o backend for .NET 5 ou superior, você pode usar as funções embutidas; se não, por favor, use os seguintes parâmetros:

Criptografia e descriptografia no formato .NET/C# RSA PEM
https://www.itsvse.com/thread-10602-1-1.html

Primeiro, use openssl para gerar chaves públicas e privadas, este artigo é executado diretamente no Linux (por favor, baixe e instale openssl no sistema Windows), o comando é o seguinte:



cat rsa_1024_priv.pem
-----INICIAR CHAVE PRIVADA 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=
-----FIM DA CHAVE PRIVADA RSA-----
cat rsa_1024_pub.pem
-----INICIAR CHAVE PÚBLICA-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTyd/KP2JuidA0JA+7i8FCzKCd
n2Gq/ChfLpnBFcHb9vKgZb6naK2UXynpTbO6l5CVU4KG7w/hUJgxUQsSzNIsnPQu
Npop/FO9doiV5l/94Hcuj17f2AAEQGkWC8EvZBoMDr2JRVDBEji3l6mHXmTduCjH
7VpuQyJRGHzWQu8HnwIDAQAB
-----FIM CHAVE PÚBLICA-----

Crie uma nova página index.html com o seguinte código-fonte:

Turistas, se quiserem ver o conteúdo oculto deste post, por favorResposta


Crie um novo aplicativo de console .NET 8 com o seguinte código-fonte:


Abra a página index.html web usando um navegador, teste a criptografia e use o aplicativo .NET para descriptografá-la, conforme mostrado na figura a seguir:



Nota: Tanto a criptografia quanto a descriptografia de strings muito longas falharão, sendo necessária criptografia segmentada e descriptografia. Para detalhes específicos, você pode consultar a:O login do hiperlink está visível.

(Fim)




Anterior:O Docker analisa a versão específica (correspondente) mais recente da imagem
Próximo:Jenkins (7) Linux servidor compila Jenkins versão 2.462.1
 Senhorio| Postado em 2024-10-14 15:51:48 |
Gerar chaves públicas e privadas de comprimento 2048

 Senhorio| Postado em 14-10-2024 17:10:13 |
Outra biblioteca front-end de criptografia e descriptografia RSA, node-forge, é uma implementação totalmente nativa do protocolo TLS em JavaScript, um conjunto de utilitários criptográficos e um conjunto de ferramentas para desenvolver aplicações web que aproveitam grandes quantidades de recursos de rede.

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

Já usado no Angular, instalado com npm da seguinte forma:

O código frontend é o seguinte:

Código backend .NET:



 Senhorio| Postado em 2024-10-16 08:23:58 |
O RSA criptografa o tamanho máximo dos dados
O login do hiperlink está visível.


No algoritmo de criptografia RSA, o tamanho máximo do bloco a ser codificado depende do comprimento de chave escolhido. Em geral, as chaves RSA podem ter comprimentos de 1024 bits, 2048 bits ou 4096 bits.

Para uma chave de 1024 bits, o tamanho máximo do bloco é de 117 bytes. Isso significa que, ao usar uma chave de 1024 bits, o bloco máximo de dados que você pode criptografar é de 117 bytes.

Para chaves de 2048 bits, o tamanho máximo do bloco é de 245 bytes. Isso significa que, ao usar uma chave de 2048 bits, o bloco máximo de dados que você pode criptografar é de 245 bytes.

Para chaves de 4096 bits, o tamanho máximo do bloco é de 512 bytes. Isso significa que, ao usar uma chave de 4096 bits, o bloco máximo de dados que você pode criptografar é de 512 bytes.

Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com