add caching to hashes
This commit is contained in:
		
							parent
							
								
									9b78633c03
								
							
						
					
					
						commit
						24bd16a6d7
					
				| @ -1,4 +1,14 @@ | ||||
| import crypto from "crypto"; | ||||
| 
 | ||||
| let SHA256_cache = {} | ||||
| 
 | ||||
| function _SHA256(str) { | ||||
|     return crypto | ||||
|             .createHash("sha256") | ||||
|             .update(str) | ||||
|             .digest("base64"); | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * hashes with the secure hashing algorithm 256 | ||||
|  * @param       {string} str   string to hash | ||||
| @ -11,13 +21,18 @@ function SHA256(str, salt, num) { | ||||
|         num = 1; | ||||
|     if (!str) | ||||
|         return; | ||||
|     let identifier = _SHA256(str+salt+num.toString()) | ||||
|     if(SHA256_cache[identifier] != undefined) { | ||||
|         return SHA256_cache[identifier]; | ||||
|     } | ||||
|     let ret = str; | ||||
|     for (let i = 0; i < num; i++) { | ||||
|         ret = crypto | ||||
|             .createHash("sha256") | ||||
|             .update(ret + salt) | ||||
|             .digest("base64"); | ||||
|         ret = _SHA256(ret + salt) | ||||
|     } | ||||
|     SHA256_cache[identifier] = ret; | ||||
|     setTimeout(()=>{ | ||||
|         SHA256_cache[identifier] = undefined | ||||
|     },10000) //cache for 10s
 | ||||
|     return ret; | ||||
| } | ||||
| export { SHA256 }; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user