File: README.md

package info (click to toggle)
golang-github-protonmail-bcrypt 0.0~git20211005.e235017-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 104 kB
  • sloc: makefile: 2
file content (43 lines) | stat: -rw-r--r-- 1,155 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# github.com/ProtonMail/bcrypt
 A golang implementation of the bcrypt hash algorithm. It is a fork of [github.com/jameskeane/bcrypt](https://github.com/jameskeane/bcrypt).
## Installation:
    go get github.com/ProtonMail/bcrypt

## Example use:
```go
package main

import (
      "fmt"
      "github.com/ProtonMail/bcrypt"
)

var password     = "WyWihatdyd?frub1"
var bad_password = "just a wild guess"

func main() {
      // generate a random salt with default rounds of complexity
      salt, _ := bcrypt.Salt()

      // generate a random salt with 10 rounds of complexity
      salt, _ = bcrypt.Salt(10)

      // hash and verify a password with random salt
      hash, _ := bcrypt.Hash(password)
      if bcrypt.Match(password, hash) {
              fmt.Println("They match")
      }

      // hash and verify a password with a static salt
      hash, _ = bcrypt.Hash(password, salt)
      if bcrypt.Match(password, hash) {
              fmt.Println("They match")
      }

      // verify a random password fails to match the hashed password
      if !bcrypt.Match(bad_password, hash) {
              fmt.Println("They don't match")
      }
}
```