Durante o processo de desenvolvimento e aplicação, o cliente e o servidor geralmente precisam transmitir dados. Quando informações privadas importantes estão envolvidas, os desenvolvedores pensam naturalmente em criptografá -las. Mesmo que seja interceptado por "pessoas conscientes" durante o processo de transmissão, as informações não serão vazadas. Acredito que muitos desenvolvedores já ouviram falar de algoritmos de criptografia, como criptografia MD5, criptografia base64, criptografia DES, criptografia AES, criptografia RSA, etc. A criptografia simples pode ser realizada usando ou, e etc.
A chave de operação = 0x01 usada no código de amostra pode personalizar suas próprias regras. Defina suas próprias operações para garantir que os dados reversíveis não sejam perdidos. A chave também pode ser definida, chave dinâmica.
Código Java
public static string myEncode (string str) lança UnsupportEdEncodingException {byte [] strbytes = str.getBytes ("utf-8"); byte [] negtrbyte = novo byte [strbytes.length]; for (int i = 0; i <strbytes.length; i ++) {newstrByte [i] = (byte) (strbytes [i] ^ 0x01); } retornar new string (negtrbyte); } String codester = myEnCode ("idmmna/" 547 ''+) ')%/"a ^*((! Vnsme"); system.out.println (codest);Código JavaScript
Obtenha o byte da UTF-8
função toutf8array (str) {var utf8 = []; for (var i = 0; i <str.Length; i ++) {var charcode = str.charcodeat (i); if (charcode <0x80) utf8.push (charcode); else if (charcode <0x800) {utf8.push (0xc0 | (charcode >> 6), 0x80 | (charcode & 0x3f)); } else if (charcode <0xd800 || charcode> = 0xe000) {utf8.push (0xe0 | (charcode >> 6), 0x80 | (charcode & 0x3f)); } else if (charcode <0xd800 || charcode> = 0xe000) {utf8.push (0xe0 | (charcode >> 12), 0x80 | ((Charcode >> 6) e 0x3f), 0x80 | (Charcode & 0x3f)); } // par substituto else {i ++; // utf-16 codifica 0x10000-0x10ffff por // subtraindo 0x10000 e dividindo os // 20 bits de 0x0-0xfffffff em duas metades charcode = 0x10000 + (((Charcode & 0x3ff) << 10) | (str.charcodeat (i) & 0x3fff & 0x3ff) << 10) | utf8.push (0xf0 | (Charcode >> 18), 0x80 | ((Charcode >> 12) e 0x3f), 0x80 | ((Charcode >> 6) e 0x3f), 0x80 | (Charcode & 0x3f)); }} retorna utf8; }Obtenha byte e execute ^ cálculo
bytes = stringtoasciibytearray (str); for (var i = 0; i <bytes.length; i ++) {var newbyte = (bytes [i]^0x01); // newbyte = (newbyte^0x01); console.log (String.FromCharcode (NewByte)); codest += string.fromCharcode (newbyte); }; console.log (codest);Resumir
O exposto acima é o conteúdo inteiro deste artigo sobre exemplos de código de transmissão de dados criptografados personalizados Java & JavaScript, espero que seja útil para todos. Amigos interessados podem continuar se referindo a este site:
Exploração de Java: Exemplos de código criptografados e descriptografados de thread+arquivos IO
Princípio do algoritmo de correspondência multimodo e código de implementação Java
O exemplo completo de código do algoritmo Java para implementar a árvore vermelha e preta
Se houver alguma falha, deixe uma mensagem para apontá -la.