Rumah pembangunan bahagian belakang masalah PHP java md5 perenambelasan kepada php

java md5 perenambelasan kepada php

May 28, 2023 pm 03:28 PM

Penyulitan ialah bahagian yang sangat penting dalam penghantaran data rangkaian. MD5 ialah algoritma penyulitan yang digunakan secara meluas yang menukar data dari sebarang panjang kepada nilai cincang 128-bit. Di Java, kita boleh menggunakan algoritma MD5 dengan mudah untuk menyulitkan data dan menukarnya menjadi rentetan dalam bentuk perenambelasan, tetapi jika kita perlu menggunakan rentetan yang disulitkan dalam PHP, bagaimana untuk menukarnya?

Pertama sekali, kita perlu memahami perbezaan dalam pengekodan rentetan antara Java dan PHP. Di Java, rentetan dikodkan dalam UTF-16 secara lalai, manakala dalam PHP, pengekodan ASCII digunakan secara lalai. Oleh itu, apabila melakukan penukaran rentetan, kita perlu menukar pengekodan rentetan terlebih dahulu.

Dalam Java, kita boleh menggunakan kod berikut untuk MD5 menyulitkan rentetan dan menukarnya kepada rentetan perenambelasan:

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

public class MD5Util {

    public static String getMD5(String message) {
        MessageDigest md;
        try {
            md = MessageDigest.getInstance("MD5");
            md.update(message.getBytes());
            byte[] mdBytes = md.digest();
            StringBuffer hexValue = new StringBuffer();
            for (int i = 0; i < mdBytes.length; i++) {
                int val = ((int) mdBytes[i]) & 0xff;
                if (val < 16) {
                    hexValue.append("0");
                }
                hexValue.append(Integer.toHexString(val));
            }
            return hexValue.toString();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
            return "";
        }
    }

}
Salin selepas log masuk

Dalam PHP, kita boleh menggunakan kod berikut untuk menyulitkan rentetan penyulitan MD5 dan penukaran kepada rentetan perenambelasan:

function stringToMd5Hex($str) {
    $str = iconv('UTF-8', 'UTF-16LE', $str);
    $md5 = md5($str);
    $hex = '';
    for ($i = 0; $i < strlen($md5); $i += 2) {
        $hex .= chr(hexdec($md5[$i] . $md5[$i + 1]));
    }
    return bin2hex($hex);
}
Salin selepas log masuk

Dalam kod ini, kami menggunakan fungsi iconv untuk menukar rentetan daripada pengekodan UTF-8 kepada pengekodan UTF-16LE. Kemudian gunakan fungsi md5 terbina dalam PHP untuk penyulitan MD5. Akhir sekali, gunakan fungsi chr untuk menukar hasil penyulitan kepada rentetan binari, dan gunakan fungsi bin2hex untuk menukarnya kepada rentetan perenambelasan.

Melalui pemprosesan sedemikian, kami boleh menukar hasil penyulitan MD5 dalam Java kepada rentetan heksadesimal yang boleh digunakan dalam PHP untuk merealisasikan penghantaran data yang disulitkan antara Java dan PHP.

Atas ialah kandungan terperinci java md5 perenambelasan kepada php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1664
14
Tutorial PHP
1268
29
Tutorial C#
1243
24