Hirdetés
- Fontos kísérleti kiterjesztést hozott a Vulkan API frissítése
- Elvette a PCI Express 5.0-t az egyes alaplapjaitól a Gigabyte
- Ismét új formájú Pulsar egeret köszönthetünk az ultrakönnyű halmazban
- "Áramvonalasított" kompakt AIO-val bővítette portfólióját az MSI
- Kingston FURY Renegade G5: Adatok villámgyorsan
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
Új hozzászólás Aktív témák
-
tick
aktív tag
AES128 bit kulcsot szeretnék generálni String input alapján. A String hossza bármi lehet. A függvény a következőt csinálná:
-Ha a String 16 karakter akkor nincs teendő
-Ha több mint 16 karakter akkor ArrayUtils.subArray(key.toCharArray(), 0, 16) majd ezt a végén vissza String-gé
-Ha kevesebb mint 16 karakter (N hosszú), akkor key.toCharArray(), egy új CharArray-be N-ig a key értékei, azon felül pedig egy karakter. A példában "c".Így minden esetben 16 karakter hosszú kulcsot kapok. Ez működik is (String.valueOf-fal). Viszont nem 128 bit lesz a végeredmény.
16 vagy több karakterrel működik hibátlanul. A probléma akkor keletkezik ha ki kell egészíteni plusz karakterekkel: Invalid AES key length: 28 bytes
Jelenleg sysout esetén nem is a key-t kapom meg, hanem a referenciáját.String pin = "1234";
...
...
// így fut le ha 16-nál rövidebb a pin
String[] keyArr = new String[16];
pinArr = pin.toCharArray();
for(int i=0;i<pin.length();i++) {
keyArr[i] = String.valueOf(pinArr[i]);
}
for(int i = pin.length();i<16;i++) {
keyArr[i] = "c";
}
key = String.valueOf(keyArr);
System.out.println(key); // String helyett reference
Key aesKey = new SecretKeySpec(key.getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, aesKey); // java.security.InvalidKeyException: Invalid AES key length: 28 bytes
byte[] encrypted = cipher.doFinal(password.getBytes());
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Keychrone Q1 V2 billentyűzet / Számla / Garancia /
- BESZÁMÍTÁS! MSI B450M R5 5500 16GB DDR4 512GB SSD GTX 1660 Super 6GB Rampage SHIVA Thermaltake 500W
- DDR5 8/ 16/ 32GB 4800-5600MHz SODIMM laptop RAM, több db- számla, garancia
- Gamer Notebook! Csere-Beszámítás! Asus Rog Strix G731GU! 17,3Col! I7 9750H / GTX 1660Ti / 16GB DDR4
- Eladó karcmentes Apple iPhone 13 Pro Max 512GB / 12 hó jótállással
Állásajánlatok
Cég: FOTC
Város: Budapest