javascript - როგორ გადავიყვანოთ MD5 BigInt MD5 ჰაში სტრინგის ფორმატში NodeJs-ში Java-ს ექვივალენტური კოდის გამოყენებით


მე მაქვს შემდეგი კოდი Java-ში MD5 ჰეშისთვის. მე მინდა გადავიყვანო ექვივალენტურ NodeJ-ებად Typescript-ით.

კოდი ჯავაში

String secretKey = "MyID~Denmark";
final MessageDigest md = MessageDigest.getInstance("MD5")       final byte[] messageDigest = md.digest(secretKey.getBytes());
final BigInteger number = new BigInteger(messageDigest);
String value = String.format("%032x", number);
System.out.println("Value: "+value);

მე ასევე შევეცადე შემდეგი Typescript კოდით, Java-სა და NodeJs-ის შედეგები არ არის ტოლი.

public checkMd51(): void {
        const country: string = "Denmark";
        const projectId: string = "MyID";
        const secretKey: string = projectId + "~" + country;
        // const key: string = crypto.createHash("md5").update(String(secretKey)).digest();

        const md5 = crypto.createHash('md5').update(secretKey).digest('hex');

        const bigInt = BigInt(`0x${md5.substring(0, 32)}`);
        // const bigInt = BigInt(`0x${md5}`);
        // const val1 = util.format('%s:%s:%s', bigInt);

        console.log("MD5 value: ", val1.toString());

        
    }

გთხოვთ დამეხმარეთ.

უპასუხე #1

აი გქონდეს. შემდეგი კოდი აღინიშნება იმასთან, რაც თქვენ დაწერეთ MD5 დიეჟესტისთვის Java-ში.

const country: string = "Denmark";
const projectId: string = "MyID";
const secretKey: string = projectId + "~" + country;
const md5 = crypto.createHash('md5').update(secretKey).digest('hex');
console.log("MD5: ", md5);

გააშვით ორივე Java პროგრამა და ზემოთ მოცემული კოდი Typescript და NodeJs-თან ერთად და შეგიძლიათ შეამოწმოთ, რომ ორივე ტოლია.