Java SHA-256 de programa no funciona correctamente

Avishka Kavindu B. Dambawinna:

Yo estaba resolviendo desafíos en Hackerrank.com y me encontré con este desafío de las funciones hash criptográficas java SHA-256. aquí

Escribí el siguiente fragmento de código como una solución. Sin embargo, algunos casos de prueba están fallando para mi solución. Con la esperanza de saber lo que está mal en mi código.

import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
import java.security.MessageDigest;  
import java.security.NoSuchAlgorithmException;  
import java.nio.charset.StandardCharsets;
import java.math.BigInteger;

public class Solution {
    public static String toHexString(byte[] hash) 
    { 
        BigInteger number = new BigInteger(1, hash);  
        StringBuilder hexString = new StringBuilder(number.toString(16));  

        while (hexString.length() < 32)  
        {  
            hexString.insert(0, '0');  
        }  

        return hexString.toString();  
    } 

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String input = sc.next();
        try 
        { 
            MessageDigest md = MessageDigest.getInstance("SHA-256"); 
            System.out.println(toHexString(md.digest(input.getBytes(StandardCharsets.UTF_8))));
        } 
        // For specifying wrong message digest algorithms  
        catch (NoSuchAlgorithmException e) {  
              throw new RuntimeException(e);
        }  

    }
}

Este es un caso de prueba que está fallando.7

pero_hero :

un hash de 32 bytes significa una cadena de 64 caracteres que para cualquier byte necesita 2 caracteres:

while (hexString.length() < 64)  
{  
    hexString.insert(0, '0');  
}  

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=300807&siteId=1
Recomendado
Clasificación