diff options
| author | Marc Vertes <mvertes@free.fr> | 2024-10-04 13:33:51 +0200 |
|---|---|---|
| committer | Marc Vertes <mvertes@free.fr> | 2024-10-04 13:33:51 +0200 |
| commit | d04ff4c23a6c1a64fc0488c5bf5af7a4ceffd4a3 (patch) | |
| tree | 9e97806d1187c2471b61549444b36dfd8bd6ea9a | |
| parent | a5f74f1b1618863b8489bd6fede8222cb9e6d400 (diff) | |
fix unchunkify
| -rw-r--r-- | main.go | 17 |
1 files changed, 12 insertions, 5 deletions
@@ -222,10 +222,17 @@ func unchunkify(root, name string, single bool, key []byte) ([]byte, error) { } sums := split(d, 32) raw := []byte{} - for _, sum := range sums { - log.Printf("sum %x\n", sum) + for i, sum := range sums { + d, err := unflatenc(root, fmt.Sprintf("%x", sum), key) + if err != nil { + return d, err + } + log.Printf("chunk %d %d %x\n", i, len(d), sum) + raw = append(raw, d...) } - return raw, nil + sum := sha256.Sum256(raw) + log.Printf("raw %d %x\n", len(raw), sum) + return nil, nil } func flatenc(root, name string, data, key []byte) error { @@ -239,7 +246,7 @@ func flatenc(root, name string, data, key []byte) error { return fmt.Errorf("flatenc flatten close: %w", err) } - // Encrypt and authentify flattened data. + // Encrypt and authentify. cb, err := aes.NewCipher(key) if err != nil { return fmt.Errorf("flatenc cipher: %w", err) @@ -255,7 +262,7 @@ func flatenc(root, name string, data, key []byte) error { log.Printf("iv: %d %x\n", len(iv), iv) enc := aesgcm.Seal(nil, iv, buf.Bytes(), nil) - // Write the result to a file named from checksum of original content. + // Write to a file named with original checksum. return writeCksumFile(filepath.Join(root, ".bb", "chunks"), name, append(iv, enc...)) } |
