В целях тестирования я хотел проверить, было ли более эффективно анализировать двоичный файл, чем текстовый файл.
Я наткнулся на этот репозиторий Github, который позволяет вам создавать двоичный файл из списка ha sh, например: https://github.com/ConsumerProtectionBC/pwnedpw_passfilt
Чтобы проверить это, я создал файл с одной строкой, используя первую строку файла SHA1 ha sh, предоставленного Have I Been Pwned, а именно «000000005AD76BD555C1D6D771DE417A4B87E4B4: 4».
Однако, если я пытаюсь прочитать файл, его содержимое в байтах выглядит следующим образом:
[80 87 78 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 215 107 213 85 193 214 215 113 222 65 122 75 135 228 180]
Я не понимаю, как я перешел из этого формата в простой текстовый формат, который позволяет мне найти свой га sh.
Я наивно использовал преобразование байтов, но он не возвращает мне содержимое
package main
import (
"fmt"
"io/ioutil"
)
func main() {
dat, _ := ioutil.ReadFile("test.bin")
fmt.Println(string(dat[:]))
}
автора В статье говорится: «Формат двоичной базы данных довольно прост. Все записи имеют фиксированные 20 байтов». и «байты ha sh находятся в порядке с прямым порядком байтов (без замены байтов) - так же, как исходное представление ASCII». Может быть, я пропустил шаг с этой информацией.
Есть идеи? Спасибо'S