File tree Expand file tree Collapse file tree 3 files changed +36
-4
lines changed Expand file tree Collapse file tree 3 files changed +36
-4
lines changed Original file line number Diff line number Diff line change
1
+ unreleased
2
+ ==========
3
+
4
+ * Fix compatibility with ` crypto.DEFAULT_ENCODING ` global changes
5
+
1
6
2.0.6 / 2015-02-13
2
7
==================
3
8
Original file line number Diff line number Diff line change 1
1
2
+ /**
3
+ * Module dependencies.
4
+ */
5
+
2
6
var rndm = require ( 'rndm' )
3
7
var scmp = require ( 'scmp' )
4
8
var uid = require ( 'uid-safe' )
5
9
var crypto = require ( 'crypto' )
6
10
var escape = require ( 'base64-url' ) . escape
7
11
12
+ /**
13
+ * Module exports.
14
+ */
15
+
8
16
module . exports = csrfTokens
17
+ module . exports . tokenize = tokenize
9
18
10
19
function csrfTokens ( options ) {
11
20
options = options || { }
@@ -61,12 +70,10 @@ function csrfTokens(options) {
61
70
}
62
71
}
63
72
64
- csrfTokens . tokenize = function tokenize ( secret , salt ) {
73
+ function tokenize ( secret , salt ) {
65
74
var hash = escape ( crypto
66
75
. createHash ( 'sha1' )
67
- . update ( salt )
68
- . update ( '-' )
69
- . update ( secret )
76
+ . update ( salt + '-' + secret , 'ascii' )
70
77
. digest ( 'base64' ) )
71
78
return salt + '-' + hash
72
79
}
Original file line number Diff line number Diff line change 1
1
2
2
var assert = require ( 'assert' )
3
+ var crypto = require ( 'crypto' )
3
4
4
5
var csrf = require ( '..' ) ( )
5
6
@@ -40,6 +41,25 @@ describe('CSRF Tokens', function () {
40
41
assert ( ! ~ token . indexOf ( '=' ) )
41
42
}
42
43
} )
44
+
45
+ describe ( 'when crypto.DEFAULT_ENCODING altered' , function ( ) {
46
+ var defaultEncoding
47
+
48
+ before ( function ( ) {
49
+ defaultEncoding = crypto . DEFAULT_ENCODING
50
+ crypto . DEFAULT_ENCODING = 'hex'
51
+ } )
52
+
53
+ after ( function ( ) {
54
+ crypto . DEFAULT_ENCODING = defaultEncoding
55
+ } )
56
+
57
+ it ( 'should creaate a token' , function ( ) {
58
+ var token = csrf . create ( secret )
59
+ assert . equal ( 'string' , typeof token )
60
+ assert ( ~ token . indexOf ( '-' ) )
61
+ } )
62
+ } )
43
63
} )
44
64
45
65
describe ( '.verify()' , function ( ) {
You can’t perform that action at this time.
0 commit comments