18 lines
		
	
	
		
			369 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			18 lines
		
	
	
		
			369 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | /* global Promise */ | ||
|  | 'use strict'; | ||
|  | 
 | ||
|  | var sha2 = module.exports; | ||
|  | var crypto = require('crypto'); | ||
|  | 
 | ||
|  | sha2.sum = function(alg, str) { | ||
|  | 	return Promise.resolve().then(function() { | ||
|  | 		var sha = 'sha' + String(alg).replace(/^sha-?/i, ''); | ||
|  | 		// utf8 is the default for strings
 | ||
|  | 		var buf = Buffer.from(str); | ||
|  | 		return crypto | ||
|  | 			.createHash(sha) | ||
|  | 			.update(buf) | ||
|  | 			.digest(); | ||
|  | 	}); | ||
|  | }; |