@@ -7,6 +7,7 @@ const assert = require('assert');
77const crypto = require ( 'crypto' ) ;
88const fs = require ( 'fs' ) ;
99
10+ const { hasOpenSSL } = common ;
1011const fixtures = require ( '../common/fixtures' ) ;
1112
1213let cryptoType ;
@@ -182,19 +183,21 @@ assert.throws(
182183
183184// Test XOF hash functions and the outputLength option.
184185{
185- // Default outputLengths.
186- assert . strictEqual ( crypto . createHash ( 'shake128' ) . digest ( 'hex' ) ,
187- '7f9c2ba4e88f827d616045507605853e' ) ;
188- assert . strictEqual ( crypto . createHash ( 'shake128' , null ) . digest ( 'hex' ) ,
189- '7f9c2ba4e88f827d616045507605853e' ) ;
190- assert . strictEqual ( crypto . createHash ( 'shake256' ) . digest ( 'hex' ) ,
191- '46b9dd2b0ba88d13233b3feb743eeb24' +
192- '3fcd52ea62b81b82b50c27646ed5762f' ) ;
193- assert . strictEqual ( crypto . createHash ( 'shake256' , { outputLength : 0 } )
194- . copy ( ) // Default outputLength.
195- . digest ( 'hex' ) ,
196- '46b9dd2b0ba88d13233b3feb743eeb24' +
197- '3fcd52ea62b81b82b50c27646ed5762f' ) ;
186+ // Default outputLengths. Since OpenSSL 3.4 an outputLength is mandatory
187+ if ( ! hasOpenSSL ( 3 , 4 ) ) {
188+ assert . strictEqual ( crypto . createHash ( 'shake128' ) . digest ( 'hex' ) ,
189+ '7f9c2ba4e88f827d616045507605853e' ) ;
190+ assert . strictEqual ( crypto . createHash ( 'shake128' , null ) . digest ( 'hex' ) ,
191+ '7f9c2ba4e88f827d616045507605853e' ) ;
192+ assert . strictEqual ( crypto . createHash ( 'shake256' ) . digest ( 'hex' ) ,
193+ '46b9dd2b0ba88d13233b3feb743eeb24' +
194+ '3fcd52ea62b81b82b50c27646ed5762f' ) ;
195+ assert . strictEqual ( crypto . createHash ( 'shake256' , { outputLength : 0 } )
196+ . copy ( ) // Default outputLength.
197+ . digest ( 'hex' ) ,
198+ '46b9dd2b0ba88d13233b3feb743eeb24' +
199+ '3fcd52ea62b81b82b50c27646ed5762f' ) ;
200+ }
198201
199202 // Short outputLengths.
200203 assert . strictEqual ( crypto . createHash ( 'shake128' , { outputLength : 0 } )
0 commit comments