O‘zbekiston respublikasi axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti mustaqil ish


Download 0.58 Mb.
bet5/5
Sana28.12.2022
Hajmi0.58 Mb.
#1016073
1   2   3   4   5
Bog'liq
savol javob

Java-da SHA-256 xash
Ta'rif: 
Kriptografiyada SHA kriptografik xesh funktsiyasi bo'lib, u 20 bayt sifatida kiritishni oladi va xesh qiymatini o'n oltilik raqamda, taxminan 40 ta raqamda ko'rsatadi.
Message Digest klassi: 
Java-da kriptografik xeshlash qiymatini hisoblash uchun java.security paketi ostida MessageDigest klassi ishlatiladi.
MessagDigest Class matnning xesh qiymatini topish uchun quyidagi kriptografik xesh funksiyasini taqdim etadi, ular: 

  1. MD5

  2. SHA-1

  3. SHA-256

Ushbu algoritmlar getInstance() deb nomlangan statik usulda ishga tushiriladi . Algoritmni tanlagandan so'ng, u digest qiymatini hisoblab chiqadi va natijalarni bayt massivida qaytaradi.
BigInteger klassi qo'llaniladi, natijada olingan bayt massivini belgi-kattalik ko'rinishiga aylantiradi. Ushbu vakillik MessageDigestni olish uchun hex formatiga aylantiriladi

import java.math.BigInteger;


import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
// Java program to calculate SHA hash value
class GFG2 {
public static byte[] getSHA(String input) throws NoSuchAlgorithmException
{
// Static getInstance method is called with hashing SHA
MessageDigest md = MessageDigest.getInstance("SHA-256");
// digest() method called
// to calculate message digest of an input
// and return array of byte
return md.digest(input.getBytes(StandardCharsets.UTF_8));
}
public static String toHexString(byte[] hash)
{
// Convert byte array into signum representation
BigInteger number = new BigInteger(1, hash);
// Convert message digest into hex value
StringBuilder hexString = new StringBuilder(number.toString(16));

// Pad with leading zeros


while (hexString.length() < 64)
{
hexString.insert(0, '0');
}
return hexString.toString();
}
// Driver code
public static void main(String args[])
{
try
{
System.out.println("HashCode Generated by SHA-256 for:");

String s1 = "GeeksForGeeks";


System.out.println("\n" + s1 + " : " + toHexString(getSHA(s1)));

String s2 = "hello world";


System.out.println("\n" + s2 + " : " + toHexString(getSHA(s2)));

String s3 = "K1t4fo0V";
System.out.println("\n" + s3 + " : " + toHexString(getSHA(s3)));
}
// For specifying wrong message digest algorithms
catch (NoSuchAlgorithmException e) {
System.out.println("Exception thrown for incorrect algorithm: " + e);
}
}
}


5. Xulosa
Bugungi SHA 256 algoritmi bo'yicha darsda biz xeshlash asoslari, xeshlashning ilovalari, SHA ning kelib chiqishi, uning ishlashi va ushbu algoritm foydalanadigan joylarni o'rgandig. Umid qilamanki, bu biz uchun qiziqarli sessiya bo'ldi.
Garchi biz ushbu maqolada SHA 256 algoritmi qanday ishlashini batafsil ko'rib chiqmagan bo'lsak ham, endi biz SHA 256 juda foydali funktsiya ekanligini tushundik. SHA 256 ma'lumotlarni qattiq uzunlikdagi, deyarli qaytarib bo'lmaydigan xesh qiymatlariga aylantiradi va asosan ma'lumotlarning haqiqiyligini tekshirish uchun ishlatiladi.
Yuqorida aytib o'tganimizdek, hozirgacha hech kim SHA 256-ni sindira olmagan va u dunyodagi eng xavfsiz tarmoqlarda qo'llanilgan. Bir kuni SHA 256 buzilishi mumkin, ammo hozircha maʼlumotlarimizni xavfsiz saqlash uchun unga tayanishimiz mumkin.

Foydalanilgan adabiyotlar

1.Internet ma’lumotlari


https://sectigostore.com/blog/sha-256-algorithm-explained-by-a-cyber-security-consultant
https://komodoplatform.com/en/academy/sha-256-algorithm
https://www.geeksforgeeks.org/sha-256-hash-in-java
Download 0.58 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5




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