Domanda

Voglio criptare alcune informazioni per un sistema di licenze e voglio che il risultato sia in grado di essere digitato dall'utente.

Aggiornamento: Questa operazione deve essere reversibile (decifrare-grado) Per esempio., Encrypt (ComputerID + ProductID) -.> (. Qualsiasi carattere ASCII standard che possono essere digitati Idealmente forse anche solo A-Z)

Finora quello che ho fatto è stato quello di convertire il testo cifrato a HEX (quindi è qualsiasi carattere da 0-F), ma che raddoppia il numero di caratteri.

Sto usando VB6.

Sto pensando che avrei fatto qualche operazione su ogni coppia di (Ingresso $ (x) e $ chiave (x)) e poi fare un MOD per mantenerlo all'interno di un intervallo di valori ASCII (forse 0-9- AZ)

Qualche suggerimento di un buon algoritmo?

È stato utile?

Soluzione

Se vuoi in Base64 "crittografia".

Base 64 convertirà un numero in 64 diversi caratteri ASCII, versi esagonale che dista solo 16 caratteri ASCII diversi ... Fare Base64 più compatto e quello che stanno cercando.

EDIT: Codice per fare questo in VB6 è disponibile qui: http: // www. nonhostile.com/howto-encode-decode-base64-vb6.asp

Per Lollipop Fuzzy, qui di seguito, Base32 si presenta come un'opzione ancora migliore. I punti di bonus se si può trovare un esempio di che .

EDIT: ho trovato un di Base32 per VB6 anche se io' non ve ancora provato. -Clay

Altri suggerimenti

codificare i byte crittografati in HEX, o Base32 o Base64

Vuoi questo per essere reversibili - per recuperare gli ID dal testo cifrato? Se è così allora è importante come si combinano le stringhe chiave e di input.

Di solito ci si XOR ogni coppia di byte (lavoro di array di byte per evitare problemi di Unicode), che circola sulla stringa chiave se è più corto del input. È quindi possibile utilizzare Base N codifica (32, 64, ecc) per generare la stringa di licenza.

Entrambe le operazioni sono reversibili: è possibile recuperare le corde XOR dalla stringa Base N, allora XOR con la chiave di nuovo per ottenere gli ID originali

.

Se non si cura di invertire le operazioni, allora ogni convoluzione di chiave e ID farà. XOR è solo il più semplice.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top