Last change
on this file since 823 was 822, checked in by yakumo.izuru, 22 months ago |
Prefer immortal.run over runit and rc.d, use vendored modules
for convenience.
Signed-off-by: Izuru Yakumo <yakumo.izuru@…>
|
File size:
817 bytes
|
Line | |
---|
1 | // Copyright 2011 The Go Authors. All rights reserved.
|
---|
2 | // Use of this source code is governed by a BSD-style
|
---|
3 | // license that can be found in the LICENSE file.
|
---|
4 |
|
---|
5 | package bcrypt
|
---|
6 |
|
---|
7 | import "encoding/base64"
|
---|
8 |
|
---|
9 | const alphabet = "./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
|
---|
10 |
|
---|
11 | var bcEncoding = base64.NewEncoding(alphabet)
|
---|
12 |
|
---|
13 | func base64Encode(src []byte) []byte {
|
---|
14 | n := bcEncoding.EncodedLen(len(src))
|
---|
15 | dst := make([]byte, n)
|
---|
16 | bcEncoding.Encode(dst, src)
|
---|
17 | for dst[n-1] == '=' {
|
---|
18 | n--
|
---|
19 | }
|
---|
20 | return dst[:n]
|
---|
21 | }
|
---|
22 |
|
---|
23 | func base64Decode(src []byte) ([]byte, error) {
|
---|
24 | numOfEquals := 4 - (len(src) % 4)
|
---|
25 | for i := 0; i < numOfEquals; i++ {
|
---|
26 | src = append(src, '=')
|
---|
27 | }
|
---|
28 |
|
---|
29 | dst := make([]byte, bcEncoding.DecodedLen(len(src)))
|
---|
30 | n, err := bcEncoding.Decode(dst, src)
|
---|
31 | if err != nil {
|
---|
32 | return nil, err
|
---|
33 | }
|
---|
34 | return dst[:n], nil
|
---|
35 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.