StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics
				https://doi.org/10.1109/TVCG.2020.3030352
			
			
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							50 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							50 lines
						
					
					
						
							1.5 KiB
						
					
					
				| var test = require('tape')
 | |
| 
 | |
| var algorithms = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160']
 | |
| var vectors = require('hash-test-vectors/hmac')
 | |
| testLib('createHmac in crypto-browserify', require('../').createHmac)
 | |
| testLib('create-hmac/browser', require('create-hmac/browser'))
 | |
| 
 | |
| function testLib (name, createHmac) {
 | |
|   algorithms.forEach(function (alg) {
 | |
|     test(name + ' hmac(' + alg + ')', function (t) {
 | |
|       run(0)
 | |
|       function run (i) {
 | |
|         if (i >= vectors.length) {
 | |
|           return t.end()
 | |
|         }
 | |
|         var input = vectors[i]
 | |
|         var output = createHmac(alg, new Buffer(input.key, 'hex'))
 | |
|           .update(input.data, 'hex').digest()
 | |
| 
 | |
|         output = input.truncate ? output.slice(0, input.truncate) : output
 | |
|         output = output.toString('hex')
 | |
|         if (output !== input[alg]) {
 | |
|           t.equal(output, input[alg])
 | |
|         }
 | |
|         setTimeout(run, 0, i + 1)
 | |
|       }
 | |
|     })
 | |
| 
 | |
|     test('hmac(' + alg + ')', function (t) {
 | |
|       run(0)
 | |
|       function run (i) {
 | |
|         if (i >= vectors.length) {
 | |
|           return t.end()
 | |
|         }
 | |
|         var input = vectors[i]
 | |
|         var hmac = createHmac(alg, new Buffer(input.key, 'hex'))
 | |
| 
 | |
|         hmac.end(input.data, 'hex')
 | |
|         var output = hmac.read()
 | |
| 
 | |
|         output = input.truncate ? output.slice(0, input.truncate) : output
 | |
|         output = output.toString('hex')
 | |
|         if (output !== input[alg]) {
 | |
|           t.equal(output, input[alg])
 | |
|         }
 | |
|         setTimeout(run, 0, i + 1)
 | |
|       }
 | |
|     })
 | |
|   })
 | |
| }
 | |
| 
 |