Os algoritmos de criptografia comuns são basicamente divididos nessas categorias: 1: algoritmo de hash linear, 2: algoritmo de criptografia simétrica, 3. Algoritmo de criptografia assimétrica (registro)
Algoritmo de hash linear (algoritmo de assinatura): MD5, SHA1, HMAC
Por exemplo, MD5: algoritmo de digestão da mensagem 5 (algoritmo de digestão de informações 5), é usado para garantir uma transmissão de informações completa e consistente.
Características:
1. Compressibilidade: O comprimento do valor calculado do MD5 é corrigido para dados de qualquer comprimento.
2. Fácil de calcular: é fácil calcular o valor do MD5 a partir dos dados originais.
3. Resistência à modificação: faça alterações nos dados originais, mesmo que apenas 1 byte seja modificado, os valores de MD5 resultantes são muito diferentes.
4. Forte anti-colisão: sabe-se que os dados originais e seu valor MD5 são muito difíceis de encontrar dados com o mesmo valor MD5 (ou seja, dados forjados).
A função do MD5 é permitir que informações de grande capacidade sejam "compactadas" em um formato confidencial antes de assinar uma chave privada com software de assinatura digital (ou seja, converter uma sequência de bytes de qualquer comprimento em uma sequência hexadecimal de um certo comprimento)
Algoritmo de criptografia simétrica: AES, DES, 3DES
Por exemplo, AES: (padrão de criptografia avançado) também é conhecido como Método de Criptografia Rijndael na criptografia, que é um padrão de criptografia em bloco adotado pelo governo federal dos EUA. Esse padrão é usado para substituir o DES original e foi analisado por várias partes e é amplamente utilizado em todo o mundo.
Algoritmo de criptografia assimétrica: RSA, DSA, ECC
Por exemplo, RSA: RSA Public Key Cryptography System. O chamado sistema de criptografia de chave pública é usar diferentes teclas de criptografia e teclas de descriptografia. É um sistema de criptografia que "derivar chaves de descriptografia de chaves de criptografia conhecidas é computacionalmente inviável".
No sistema de criptografia de chave pública, a chave de criptografia (isto é, chave pública) PK é informações públicas, enquanto a chave de descriptografia (isto é, chave secreta) SK precisa ser mantida confidencial. O algoritmo de criptografia E e o algoritmo de descriptografia D também são públicos. Embora a chave de descriptografia SK seja determinada pela chave pública PK, o SK não pode ser calculado com base no PK.
Módulo criptográfico em nodejs
O Node usa a biblioteca OpenSSL para implementar sua tecnologia de criptografia, porque o OpenSSL já é um algoritmo de criptografia amplamente usado. Inclui algoritmos como MD5 ou SHA-1 que você pode usar em seu aplicativo.
O código a seguir usa o método de implementação do algoritmo de criptografia
/*** * @Author chenjianxiang * @date 2016-07-07 */var cripto = requer ('cripto'); var key = '12345670'; exports.des = {algorithm: {ecb: 'des-ecc', ctect: 'des cBC'}, esfrypt: {ecb: 'funct', ctect: 'des CBC'},, es-cBC '; var iv = novo buffer (IV? IV: 0); var cipher = cripto.createcipheriv (this.algorithm.ecb, chave, iv); cipher.setAUTOPadding (true) // padrão true var cipher = cipher.update (texto simples, 'utf8', 'base64'); cifra += cifra.Final ('base64'); retornar cifra; }, descriptografar: function (Encrypt_text, iv) {var key = new Buffer (key); var iv = novo buffer (IV? IV: 0); var decipher = cripto.createCipheriv (this.algorithm.ecb, chave, iv); decipher.setAUTOPadding (true); var txt = decipher.Update (Encrypt_text, 'base64', 'utf8'); txt += decipher.Final ('utf8'); retornar txt; }};Usando o método de criptografia e descriptografia DES
// criptografar var Cryptutil = requer ("./ utils/cript"); var str = "/upload/image/201602120012.jpg"; Cryptutil.Des.Decrypt (Encrypt_Text, 0); console.log (Encrypt_text); console.log (decrypt_text);Resultado da saída:
I+QWOSXQVBQ18KVMX3AINMHBS3NT+V64S
/upload/image/201602120012.jpg
A simples implementação do Node.js des Criptografia acima é todo o conteúdo que compartilho com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.