Считать файл bin с Go - PullRequest
       5

Считать файл bin с Go

0 голосов
/ 29 апреля 2020

В целях тестирования я хотел проверить, было ли более эффективно анализировать двоичный файл, чем текстовый файл.

Я наткнулся на этот репозиторий 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...