26 lines
		
	
	
		
			576 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			26 lines
		
	
	
		
			576 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var crypto = require('crypto');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function md5(bytes) {
							 | 
						||
| 
								 | 
							
								  if (typeof Buffer.from === 'function') {
							 | 
						||
| 
								 | 
							
								    // Modern Buffer API
							 | 
						||
| 
								 | 
							
								    if (Array.isArray(bytes)) {
							 | 
						||
| 
								 | 
							
								      bytes = Buffer.from(bytes);
							 | 
						||
| 
								 | 
							
								    } else if (typeof bytes === 'string') {
							 | 
						||
| 
								 | 
							
								      bytes = Buffer.from(bytes, 'utf8');
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  } else {
							 | 
						||
| 
								 | 
							
								    // Pre-v4 Buffer API
							 | 
						||
| 
								 | 
							
								    if (Array.isArray(bytes)) {
							 | 
						||
| 
								 | 
							
								      bytes = new Buffer(bytes);
							 | 
						||
| 
								 | 
							
								    } else if (typeof bytes === 'string') {
							 | 
						||
| 
								 | 
							
								      bytes = new Buffer(bytes, 'utf8');
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  return crypto.createHash('md5').update(bytes).digest();
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = md5;
							 |