cari
RumahJavajavaTutorialBagaimana untuk melaksanakan algoritma hash SHA menggunakan java

Bagaimana untuk melaksanakan algoritma hash SHA menggunakan java

Cara melaksanakan algoritma cincang SHA dalam Java

SHA (Algoritma Cincang Selamat) ialah algoritma cincang yang biasa digunakan yang digunakan untuk menukar data panjang sewenang-wenangnya kepada nilai cincang panjang tetap. Di Java, kita boleh melaksanakan algoritma pencincangan SHA menggunakan kelas MessageDigest dalam perpustakaan standard Java. Di bawah, saya akan memperkenalkan secara terperinci cara melaksanakan algoritma hash SHA dalam Java, dan melampirkan contoh kod yang sepadan.

Pertama, kita perlu mengimport kelas java.security.MessageDigest dalam kod Java. Dalam kod, kita juga perlu mengendalikan pengecualian NoSuchAlgorithmException.

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

Seterusnya, kita boleh mencipta kaedah yang melaksanakan algoritma pencincangan SHA pada rentetan tertentu. Kaedah ini akan menerima rentetan sebagai parameter dan mengembalikan nilai cincang yang diperolehi oleh pencincangan SHA rentetan.

public static String getSHA(String input) throws NoSuchAlgorithmException {
    // 创建一个MessageDigest对象,指定使用SHA算法
    MessageDigest md = MessageDigest.getInstance("SHA");
    
    // 将输入的字符串转换为字节数组
    byte[] inputBytes = input.getBytes();
    
    // 使用MessageDigest对象的digest方法进行哈希计算
    byte[] hashBytes = md.digest(inputBytes);
    
    // 将字节数组转换为十六进制的字符串
    StringBuilder sb = new StringBuilder();
    for (byte b : hashBytes) {
        sb.append(String.format("%02x", b));
    }
    
    // 返回十六进制字符串作为哈希值
    return sb.toString();
}

Dalam kod di atas, kami mula-mula mencipta objek MessageDigest dan menentukan algoritma SHA. Rentetan yang akan diproses kemudiannya ditukar kepada tatasusunan bait dan dicincang menggunakan kaedah ringkasan objek MessageDigest. Nilai cincang yang dikira akan dalam bentuk tatasusunan bait. Akhir sekali, kami menukar tatasusunan bait kepada rentetan heksadesimal dan mengembalikan rentetan itu sebagai nilai cincang.

Seterusnya, kita boleh memanggil kaedah ini dalam atur cara, contohnya:

public static void main(String[] args) {
    String input = "Hello World";
    
    try {
        String hashValue = getSHA(input);
        System.out.println("SHA hash value: " + hashValue);
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    }
}

Menjalankan kod di atas akan menghasilkan keputusan berikut:

SHA hash value: 2ef7bde608ce5404e97d5f042f95f89f1c232871

Ini adalah cara untuk melaksanakan algoritma pencincangan SHA dalam Java. Kami mengira nilai cincang dengan memanggil kaedah ringkasan MessageDigest dan menukar hasilnya kepada bentuk rentetan heksadesimal.

Sila ambil perhatian bahawa algoritma cincang SHA ialah algoritma tidak boleh balik, iaitu, data input asal tidak boleh dipulihkan daripada nilai cincang. Oleh itu, algoritma SHA sering digunakan dalam senario seperti pengesahan integriti data dan penyimpanan kata laluan.

Semoga contoh kod di atas akan membantu anda memahami dan menggunakan Java untuk melaksanakan algoritma cincang SHA! Jika anda mempunyai sebarang soalan, sila berasa bebas untuk bertanya kepada saya.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan algoritma hash SHA menggunakan java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa