aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-04-14 02:11:13 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-04-14 02:11:13 +0200
commitdffca582d57491e946582f2ac86e2c21ac5d6b74 (patch)
tree6d9a25e10e9aaba4f9ada0a2b95620b52e2ebba9
parent004bf408ad7877f587b08e878a4c050ebf79cea9 (diff)
...
-rw-r--r--bhash.go40
-rw-r--r--pbkdf.go8
2 files changed, 43 insertions, 5 deletions
diff --git a/bhash.go b/bhash.go
new file mode 100644
index 0000000..19c1ee8
--- /dev/null
+++ b/bhash.go
@@ -0,0 +1,40 @@
+package main
+
+import (
+ "hash"
+
+ "golang.org/x/crypto/blowfish"
+)
+
+var magic = []byte("OxychromaticBlowfishSwatDynamite")
+
+// blowfish hash
+type digest struct {
+ c *blowfish.Cipher
+}
+
+func (d *digest) Write(p []byte) (n int, err error) {
+ panic("not implemented")
+}
+
+func (d *digest) Sum(b []byte) []byte {
+ panic("not implemented")
+}
+
+func (d *digest) Reset() {
+ panic("not implemented")
+}
+
+func (d *digest) Size() int {
+ panic("not implemented")
+}
+
+func (d *digest) BlockSize() int {
+ return d.c.BlockSize()
+}
+
+func NewBHash() hash.Hash {
+ d := &digest{}
+ d.Reset()
+ return d
+}
diff --git a/pbkdf.go b/pbkdf.go
index 6a88fc1..9b868e4 100644
--- a/pbkdf.go
+++ b/pbkdf.go
@@ -1,15 +1,13 @@
package main
import (
- "hash"
+ "crypto/sha512"
"golang.org/x/crypto/pbkdf2"
)
// bcrypt_pbkdf
-const magic = "OxychromaticBlowfishSwatDynamite"
-
-func Key(password, salt []byte, iter, keyLen int, h func() hash.Hash) []byte {
- return pbkdf2.Key(password, salt, iter, keyLen, h)
+func Key(password, salt []byte, iter, keyLen int) []byte {
+ return pbkdf2.Key(password, salt, iter, keyLen, sha512.New)
}