Java dasturlash tili bu o’zining o’ziga xos sintaksis va ko’p funksiyalarga EGA bo’lgan obyektga yo’naltirilgan umumiy ma’lumotlar tili hisoblanadi


Bouncy Castle kutubxonasi yordamida ma’lumotlarni hashlash


Download 60.86 Kb.
bet4/4
Sana19.06.2023
Hajmi60.86 Kb.
#1623802
1   2   3   4
Bog'liq
Mustaqil ish

Bouncy Castle kutubxonasi yordamida ma’lumotlarni hashlash
Bouncy Castle kutubxonasini ishlatib ma’lumotlarni hashlash uchun quyidagi jarayonni bajarishimiz kerak:

  1. Bouncy Castle kutubxonasini o’rnatish: Java dasturlash tilida Bouncy Castle kutubxonasi uchun jar faylidan foydalanish mumkin. Jar faylni yuklab olish uchun, Bouncy Castle kutubxonasining rasmiy web-saytiga kirib, Download bo’limidagi Java bo’limiga kirib, so’ng mos keladigan versiyasini yuklab olishimiz kerak;

  2. Hash algoritmini tanlash: Bouncy Castle kutubxonasida ko’plab hash funksiyalar mavjud. Shuning uchun biz kerakli hash funksiyani tanlashimiz uchun Bouncy Castledagi barcha hashlarning dokumentatsiyasini o’rganishimiz kerak;

  3. Ma’lumotlarni hashlash: Bouncy Castle kutubxonasi ma’lumotni hashlash uchun ko’plab usullarni taklif qiladi, ammo ularning har biri o’zining xususiyatlariga ega. Misol uchun xozir biz “SHA-256” hash funksiyasini tanlangan misolida ko’ramiz:

import java.security.MessageDigest;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import java.security.Security;

public class HashExample {


public static void main(String[] args) throws Exception {
// Bouncy Castle kutubxonasi uchun amalga oshiriladi
Security.addProvider(new BouncyCastleProvider());

// Ma'lumot


String data = "Hello world!";

// SHA-256 hash funksiyasini ishlatish


MessageDigest digest = MessageDigest.getInstance("SHA-256", "BC");
byte[] hash = digest.digest(data.getBytes());

// Hash qiymatini chiqarish


System.out.println(new String(hash));
}
}

Ushbu kod SHA-256 hash algoritmidan foydalandi va “Hello world!” matnini hashladi. Natijada olingan hash qiymat “byte” massivu shaklida saqlandi.


Bouncy Castle orqali ERI jarayonlarini amalga oshirish

Java dasturlash tilida Bouncy kutubxonasidan foydalanib ERI jarayonlari yaratish uchun quyidagi ko’rinishda kod yozishimiz mumkin:



  1. Bouncy Castle kutubxonasi o’rnatish: Endi Bouncy Castle kutubxonasini o’rnatishning boshqa usulini ko’rishimiz mumkin va buning uchun quyidagi Maven kiritmasini ishlatamiz:


org.bouncycastle
bcprov-jdk15on
1.68


  1. Eri jarayonlari yaratish: ERI jarayonlari yaratish uchun Bouncy Castle kutubxonasi Crypto APIsidan foydalanish mumkin. Quyidagi ko’rinishda yozilgan kodda, “KeyPair” obyekti yaratiladi, “KeyPairGenerator” yordamida o’rnatilgan key uzunligi 2048 ga teng bo’lgan “RSA” algoritmi ishlatiladi. Keylar esa “PrivateKey” va “PublicKey” obyektlari orqali olinadi:

import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.Security;

import org.bouncycastle.jce.provider.BouncyCastleProvider;


public class ERIUtils {


static {
Security.addProvider(new BouncyCastleProvider());


}

public static KeyPair generateKeyPair() throws Exception {


KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA", "BC");
generator.initialize(2048);
return generator.generateKeyPair();
}

public static PrivateKey getPrivateKey(KeyPair keyPair) {


return keyPair.getPrivate();
}

public static PublicKey getPublicKey(KeyPair keyPair) {


return keyPair.getPublic();
}
}

Ushbu kodda “ERIUtils” nomli klass yaratilgan. “generatorKeyPair()” metodi yordamida, Bouncy Castle kutubxonasida “RSA” algoritmi ishlatilgan va key uzunligi 2048 bitga teng bo’lgan “KeyPair” obyekti yaratilgan. “getPrivateKey()” va “getPublicKey()” metodlariga esa yaratilga “KeyPair” obyektiga murojaat qilingan va ulardan “PrivateKey” va “PublicKey” obyektlari olingan.


Xulosa
Men ushbu ishimda Bouncy Castle kutubxonasidan foydalanib ERI jarayonlari yaratish uchun kerakli kodlarni ko'rsatdim. Bu kutubxona faqatgina ERI jarayonlari uchun ishlatilmasligini ham o’rgandim. Yani ushbu kutubxonadan biz ma’lumotlarni hashlash, shifrlash va deshifrlash uchun ham ishlatishimiz mumkin ekan. Biz Bouncy Castle kutubxonasidan yuqorida tilde olingan xizmatlaridan foydalanishimiz uchun o’zining tayyor funksiyalari bor ekan. Ya’ni ERIda kalit generatsiya qilish uchun biz “generatorKeyPair” metodidan foydalandik, ochiq matnni hashlash uchun esa “getInstance” metodidan foydalandik. Bunday jarayonlar odatda kriptografik protokollar yoki amaliyotlar yaratishda qo'llash mumkin. Bu protokollar shaxsiy xavfsizlik, tarmoq xavfsizligi va boshqa sohalarda foydalanish mumkin.
Foydalanilgan adabiyotlar
"Bouncy Castle - Java Cryptography API" by Legion of the Bouncy Castle
"Java Cryptography" by Jonathan Knudsen
"Beginning Cryptography with Java" by David Hook
"Java Security" by Scott Oaks
"Applied Cryptography" by Bruce Schneier.
Download 60.86 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling