Как SHA256 хэшировать текстовый файл в чанках с помощью openssl / sha.h

Вот еще один способ использования чистого регулярного выражения:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ReplaceFirstByLastPattern {

    public static void main(String[] args) {
        System.out.println(swapAByO("aaligatoor"));
    }

    public static String swapAByO(String input){

        //Pattern when a falls before o
        Pattern pattern = Pattern.compile("(a)(.*)(o)");
        Matcher matcher = pattern.matcher(input);
        if(matcher.find()){
            return matcher.replaceAll("$3$2$1");
        }

        //Pattern when o falls before a
        pattern = Pattern.compile("(.*)(o)(.*?)(a)");
        matcher = pattern.matcher(input);
        if(matcher.find()){
            return matcher.replaceAll("$1$4$3$2");
        }

        return input;
    }
0
задан Bobby Strickland 18 January 2019 в 19:15
поделиться

1 ответ

Просто, вы сделали [1] вместо [i] в цикле печати. ​​

      for(int i = 0; i < SHA256_DIGEST_LENGTH; i++)
            printf("%02x", output[1]);

должно быть

      for(int i = 0; i < SHA256_DIGEST_LENGTH; i++)
            printf("%02x", output[i]);

Глупый латинский алфавит!

0
ответ дан jcarpenter2 18 January 2019 в 19:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: