Hogyan kell egy stringet kódolni a base64-ben a java használatával?

A Base64 módszer egy 4 bájtnyi kimenetre történő bemenetenként 3 bájtos titkosítási módszerrel. Széles körben használják az e-mailben küldött fotók és hangok kódolását (bár a 7 bites adatátvitel ideje elhaladt), valamint a weboldalakon található személyazonosság (pl. Bejelentkezés és jelszó) védelme a lehallgatásból. Íme egy példa arra, hogyan lehet egy Base64 rejtjelezőt írni a népszerű többplatformos Java nyelven. Ezt a példát és a kód próbavonalát a Wikipédia cikkéből vettük.

Lépések szerkesztése

Hogyan kell egy stringet kódolni a base64-ben a java használatával?

Hogyan kell egy stringet kódolni a base64-ben a java használatával?

Adja meg az információkat és a fájlnevet

Hogyan kell egy stringet kódolni a base64-ben a java használatával?

Hogyan kell egy stringet kódolni a base64-ben a java használatával?

A cikk szerint a konstansok értékei megfelelnek az utolsó munkaterveknek (RFC). Mindenképpen érdemes elolvasni a legfrissebb munkadokumentumokat, mielőtt elkezdené írni a kódot.

  • Most fontold meg a legfontosabbat: egy bájt egyidejű tömörítése 24 bites egész számra, és a 6 bites indexek kivonása a kódoló stringbe. Ezek nem mágikus számok: 24, ha 6-ra oszlik, a 4, 6 bit 0-tól 63-ig terjedő számokat tartalmazhat, amelyek egy 64 bites kódoló karakterlánc bármely értékére mutathatnak.

Hogyan kell egy stringet kódolni a base64-ben a java használatával?

Hogyan kell egy stringet kódolni a base64-ben a java használatával?

  1. Végül, a szabad cellák hozzáadását követően a kimenetet úgy tömörítjük, hogy a sortörés beillesztése a szükséges 76 bites határvonalakra egy külön szubrutin segítségével, az egyértelműség érdekében.
  1. Szükség esetén hozzáadhatja a főprogramot tesztelési célokra. Ezt meg kell tenni, mielőtt az általános célú programot megfogalmaznák.
  1. Itt van a teljes modul:

privát statikus végső string base64code = "ABCDEFGHIJKLMNOPQRSTUVWXYZut" + "abcdefghijklmnopqrstuvwxyz" + "0123456789" + "+ /";

magán statikus végleges int splitLinesAt = 76;

nyilvános statikus String encode (String string)

> nyilvános statikus String splitLines (String string)

String lines = ""; az (int i = 0; i sorok + = string.substring (i, Math.min (string.length (), i + splitLinesAt)); sorok + = "\ r \ n";

> nyilvános statikus void main (String [] args)

az (int i = 0; i System.err.println ("kódolás" "+ args [i] +" ""); System.out.println (kódolja (args [i]));

  1. Most összeállítjuk ezt javac, gcj, jikes vagy valami hasonló. Megpróbáljuk használni a Hobbes idézetet egy cikkből a Wikipédiában:

$ Java Base64 „Az ember halad, nem csak az ő oka, de ez a különös szenvedély a többi állattól, ami egy vágy az elme, hogy a kitartás az öröm a folyamatos és fáradhatatlan generációs tudás meghaladja a rövid hév bármilyen testi örömtől. " >> Itt van az eredmény:

a többi állattól való szenvedély, ami az elme vágya, hogy a folytatásban és a tudatlan nemzedékben való öröm örömével, mindenféle testi örömmel szembeni kegyetlenséggel. "

TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4 = >>

  1. Összekötődik! Ez azt jelenti, hogy a két program helytelen, vagy mindkettő kevésbé helyes. Ebben az esetben ezt a cikket újra meg kell látogatnia a Wikipédiában, és olvassa el a munkadokumentumokat abban az esetben, ha valami hiányzik.

Tippek és trükkök

További cikkek

Kapcsolódó cikkek