@@ -29,39 +29,34 @@ const crypto = require('crypto');
29
29
30
30
crypto . DEFAULT_ENCODING = 'buffer' ;
31
31
32
- function aes256 ( decipherFinal ) {
33
- const iv = Buffer . from ( '00000000000000000000000000000000' , 'hex' ) ;
34
- const key = Buffer . from ( '0123456789abcdef0123456789abcdef' +
35
- '0123456789abcdef0123456789abcdef' , 'hex' ) ;
36
-
37
- function encrypt ( val , pad ) {
38
- const c = crypto . createCipheriv ( 'aes256' , key , iv ) ;
39
- c . setAutoPadding ( pad ) ;
40
- return c . update ( val , 'utf8' , 'latin1' ) + c . final ( 'latin1' ) ;
41
- }
42
-
43
- function decrypt ( val , pad ) {
44
- const c = crypto . createDecipheriv ( 'aes256' , key , iv ) ;
45
- c . setAutoPadding ( pad ) ;
46
- return c . update ( val , 'latin1' , 'utf8' ) + c [ decipherFinal ] ( 'utf8' ) ;
47
- }
48
-
49
- // echo 0123456789abcdef0123456789abcdef \
50
- // | openssl enc -e -aes256 -nopad -K <key> -iv <iv> \
51
- // | openssl enc -d -aes256 -nopad -K <key> -iv <iv>
52
- let plaintext = '0123456789abcdef0123456789abcdef' ; // multiple of block size
53
- let encrypted = encrypt ( plaintext , false ) ;
54
- let decrypted = decrypt ( encrypted , false ) ;
55
- assert . strictEqual ( decrypted , plaintext ) ;
32
+ const iv = Buffer . from ( '00000000000000000000000000000000' , 'hex' ) ;
33
+ const key = Buffer . from ( '0123456789abcdef0123456789abcdef' +
34
+ '0123456789abcdef0123456789abcdef' , 'hex' ) ;
35
+
36
+ function encrypt ( val , pad ) {
37
+ const c = crypto . createCipheriv ( 'aes256' , key , iv ) ;
38
+ c . setAutoPadding ( pad ) ;
39
+ return c . update ( val , 'utf8' , 'latin1' ) + c . final ( 'latin1' ) ;
40
+ }
56
41
57
- // echo 0123456789abcdef0123456789abcde \
58
- // | openssl enc -e -aes256 -K <key> -iv <iv> \
59
- // | openssl enc -d -aes256 -K <key> -iv <iv>
60
- plaintext = '0123456789abcdef0123456789abcde' ; // not a multiple
61
- encrypted = encrypt ( plaintext , true ) ;
62
- decrypted = decrypt ( encrypted , true ) ;
63
- assert . strictEqual ( decrypted , plaintext ) ;
42
+ function decrypt ( val , pad ) {
43
+ const c = crypto . createDecipheriv ( 'aes256' , key , iv ) ;
44
+ c . setAutoPadding ( pad ) ;
45
+ return c . update ( val , 'latin1' , 'utf8' ) + c . final ( 'utf8' ) ;
64
46
}
65
47
66
- aes256 ( 'final' ) ;
67
- aes256 ( 'finaltol' ) ;
48
+ // echo 0123456789abcdef0123456789abcdef \
49
+ // | openssl enc -e -aes256 -nopad -K <key> -iv <iv> \
50
+ // | openssl enc -d -aes256 -nopad -K <key> -iv <iv>
51
+ let plaintext = '0123456789abcdef0123456789abcdef' ; // multiple of block size
52
+ let encrypted = encrypt ( plaintext , false ) ;
53
+ let decrypted = decrypt ( encrypted , false ) ;
54
+ assert . strictEqual ( decrypted , plaintext ) ;
55
+
56
+ // echo 0123456789abcdef0123456789abcde \
57
+ // | openssl enc -e -aes256 -K <key> -iv <iv> \
58
+ // | openssl enc -d -aes256 -K <key> -iv <iv>
59
+ plaintext = '0123456789abcdef0123456789abcde' ; // not a multiple
60
+ encrypted = encrypt ( plaintext , true ) ;
61
+ decrypted = decrypt ( encrypted , true ) ;
62
+ assert . strictEqual ( decrypted , plaintext ) ;
0 commit comments