aboutsummaryrefslogtreecommitdiffstats
path: root/enc/enc.go
diff options
context:
space:
mode:
authorRose Hogenson <rosehogenson@posteo.net>2025-10-10 23:51:39 -0700
committerRose Hogenson <rosehogenson@posteo.net>2025-10-10 23:51:39 -0700
commitd4e03f038c596065879d1707761a5da10959c4bb (patch)
tree6e46d160d3c78186c2011acb27a62a2e5d8b63f2 /enc/enc.go
parentcac97aae6184f2f2af5ceeabeae7e2ced3481064 (diff)
downloadsym-d4e03f038c596065879d1707761a5da10959c4bb.tar.zst
Use a separate salt per file
Unfortunately this makes the program way slower for multiple files. However, it's a critical bug to reuse salt between files.
Diffstat (limited to 'enc/enc.go')
-rw-r--r--enc/enc.go14
1 files changed, 4 insertions, 10 deletions
diff --git a/enc/enc.go b/enc/enc.go
index 180927b..41da776 100644
--- a/enc/enc.go
+++ b/enc/enc.go
@@ -49,20 +49,14 @@ func enc() error {
}
password = string(pw)
}
- salt := make([]byte, sym.SaltSize)
- rand.Read(salt)
- key, err := sym.HashPassword(password, salt)
- if err != nil {
- return err
- }
if len(args) == 0 {
if *asciiOutput {
- return sym.EncryptBase64(os.Stdout, os.Stdin, key, salt, 0)
+ return sym.EncryptBase64(os.Stdout, os.Stdin, password)
}
- return sym.Encrypt(os.Stdout, os.Stdin, key, salt, 0)
+ return sym.Encrypt(os.Stdout, os.Stdin, password)
}
- for i, fileName := range args {
- if err := sym.EncryptFile(fileName, key, salt, i, *asciiOutput); err != nil {
+ for _, fileName := range args {
+ if err := sym.EncryptFile(fileName, password, *asciiOutput); err != nil {
return err
}
}