11
22
3+ <!DOCTYPE html>
4+
35
46< html >
57
68 < head >
9+ < meta charset =utf-8 >
710
8- < title > hash generator - SHA1, SHA256, MD5, RIPEMD - all the common types</ title >
9- < meta name =description content ='Generate secure hashes using SHA1, SHA256, MD5, RIPEMD and more. Fast, browser-based cryptographic tool for developers. adler32 argon2d argon2i argon2id bcrypt blake2b blake2s blake3 crc32 crc64 keccak md4 md5 pbkdf2 ripemd160 scrypt sha1 sha3 sha224 sha256 sha384 sha512 sm3 whirlpool xxhash3 xxhash32 xxhash64 xxhash128 '>
11+ < title >
12+ Hash Generator - SHA1, SHA256, MD5, RIPEMD - all the common types
13+ </ title >
1014
11- < base href =' https://ext-code.com/utils/misc/hash-file/ '>
12- < base href =' https://javascript-2020.github.io/utils/misc/hash-file/ '>
15+ < meta name = description content =' Generate secure hashes using SHA1, SHA256, MD5, RIPEMD and more. Fast, browser-based cryptographic tool for developers. adler32 argon2d argon2i argon2id bcrypt blake2b blake2s blake3 crc32 crc64 keccak md4 md5 pbkdf2 ripemd160 scrypt sha1 sha3 sha224 sha256 sha384 sha512 sm3 whirlpool xxhash3 xxhash32 xxhash64 xxhash128 '>
16+ < meta name = keywords content =' adler32 argon2d argon2i argon2id bcrypt blake2b blake2s blake3 crc32 crc64 keccak md4 md5 pbkdf2 ripemd160 scrypt sha1 sha3 sha224 sha256 sha384 sha512 sm3 whirlpool xxhash3 xxhash32 xxhash64 xxhash128 '>
1317
14- < link rel =canonical href ='https://ext-code.com/utils/misc/hash-file/hash-file.html '>
18+ < base href ='https://ext-code.com/utils/misc/hash-generator/ '>
19+ < link rel =canonical href ='https://ext-code.com/utils/misc/hash-generator/hash-generator.html '>
1520
1621 < meta name =viewport content ='width=device-width, initial-scale=1 '>
17- < link rel =icon type ='image/png ' href ='image/hash-30.png '>
18-
22+ < link rel =icon type ='image/png ' href ='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAABrVBMVEVHcExdyN/FaE9iv89kwdVgxNlcyN7pYjrpYznsYzh8cYY6ODBDX19cx93TYT/rYjlBQzxAQDliwdRdx9xhxNhexdtlwdfwYjfsYjjrYzw9MidUyN9ow9dfwtc9PTQ/TUlfw9hFaGtdyNxWprXYZD3iY0LpYjvlYzvoZDzlYzvoYzvrYjnZaEbba0XsYDbqYz7qYztqvso9OTFvvMs6OzQ8OjFtvMrMY0NmwtQ+RkA6OTI7PDZBUlBFX19fx91bwNRDWltbx91CWlpSk59QjJZIcXRZuMpiwdRcyN1Tmqdnv9Rfw9dkwdbqZDhkwNPYbUjuYjvsZDnFfWLYbUxek5zJe19dwNJhwdJfxdtEX2FToLE9SUI9RkBTm6lawNVNg4tCUlBCVlRNg4tKeH5WipVBUE9Nf4VXq7tGa25ivNBLeoBYtMY/T0xcus5huM9hw9hWrr5hxNpNi5Vgw9hcuM5swNZbyN9byuDxYjhavNBbwdVSmqdWqbpYtslLgIhToK5Ql6NSnKpaucxKen5OjZZUp7dYscJXrr9cxt1YtMVPkJtKe4JOiJBkVElUpLSJzdUZAAAAdnRSTlMA9wQbQqH5VZbGAQv38AqqFq5A2ojOYvvbeAMUI5C325X63sUIIYcvaUBhnw8Ut0pvCiMEeGDv2enITJn079ffyOruxcL82lr20FTAa9Yxwu5ecLfSgPEzrrraz8Ha27nM8tHTpefQtfdNw87cw0qCsLTzr8FM/yT34gAAAb9JREFUKM9jYEAAJl1dJgZcgEmfn5NTW5MLuyyXgQQHOzuHhBZ2aU0JdpAiLV91rNIc2mBjmfjVsMmq6GlAGJL82JzHxxkIYRjoYZX2D5JmBoHQYCzSzLJmFsLCSkrCdhZmItLosoasHeVlZWxunmnJSVFhCsZo0n6OZWVl9lk5Tq6Kiom2Icxo0kIeZeVuDjx1nZX1nTXNNiZSqNIsHmX2Dq5NjU2V9bW1DfU8pujSbPE8lVV1bU0tNe3Vla3yRqjSbHEJ1eVVjTU1Da2tHWVlzSao0ozKTpXljrKyCiKFIqxs5bGC3KiGOyt2lPGyZuYpsIp5s5WlywmgSrtkdJSJuueLuPuU+niUFcihWC7E6GxbVSbqxVosJuYlxlumjKpbyCM7p72cN1dUtETY27OqvMhaClXaMbK7rLKro72utra7qZLHCsXl4UDz5KurqvvaG2o6q6vqUB3OYBhRxuiS2tLQVltfWdnV3Guuj5oiZViV7FIseXoaWxrrbATNKwIk+VDkjZllZARMBS2jY6ytuCXFK8Q5dDBThRS3AMhWHf6KigoOPpxZQpWzokKcHac0gzonXmkGVTUNFQaCAABtemSBaXuvlwAAAABJRU5ErkJggg== '>
1923
20- < script src ='https://cdn.jsdelivr.net/npm/hash-wasm@4 '> </ script >
21-
22-
23- < meta name =keywords content ='adler32 argon2d argon2i argon2id bcrypt blake2b blake2s blake3 crc32 crc64 keccak md4 md5 pbkdf2 ripemd160 scrypt sha1 sha3 sha224 sha256 sha384 sha512 sm3 whirlpool xxhash3 xxhash32 xxhash64 xxhash128 '>
24-
2524 < script type ='application/ld+json '>
2625 {
2726 "@context" : "https://schema.org" ,
4241 "SHA-512" ,
4342 "MD5" ,
4443 "RIPEMD-160"
45- ]
44+ ] ,
4645 }
4746 </ script >
4847
4948
49+ < script src ='https://cdn.jsdelivr.net/npm/hash-wasm@4 '> </ script >
50+
51+
5052 < script src ='https://libs.ext-code.com/js/dom/component/component.js '> </ script >
5153
5254 < script init >
5355 console . clear ( ) ;
5456 console . json = v => console . log ( JSON . stringify ( v , null , 4 ) ) ;
55- var df = true , did = 'hash-text.html' ;
57+ var df = true , version = 'v2.0'
58+ ;
5659
5760 var ext ;
5861 var $ ;
6164 var keydown ;
6265 var debug ;
6366
64- // var hdr;
67+ var hdr ;
6568 var filemod ;
6669 var filename ;
6770 var editor ;
7982 async function init ( ) {
8083
8184
82- menu = mod . menumod ( ) ;
85+ menu = menumod ( ) ;
8386
84- //mod. hdr.base64 = mod. hdr.base64() ;
85- filemod = mod . filemod ;
87+ hdr = mod [ 'misc- hdr' ] ;
88+ filemod = mod [ 'file-mod' ] ;
8689 filename = mod [ 'filename-ui' ] ;
8790
88- editor = mod . editor ;
91+ editor = mod [ 'web- editor' ] ;
8992
90- log = mod . log ;
93+ log = mod [ 'log-mod' ] ;
94+
9195
9296 //mod.hdr.base64.initmod({ext,$,menu,menumod:menu});
9397
97101 editor . initmod ( { ext, $, menu} ) ;
98102
99103 log . initmod ( { ext, $} ) ;
100-
101- //mod.hdr.base64.init();
102- await filemod . init ( ) ;
103- await filename . init ( ) ;
104- await editor . init ( ) ;
105- await log . init ( ) ;
104+
105+ await Promise . all ( [
106+ //mod.hdr.base64.init(),
107+ filemod . init ( ) ,
108+ filename . init ( ) ,
109+ editor . init ( ) ,
110+ log . init ( ) ,
111+ ] ) ;
106112
107113 //:
108114
109115 menu . on . close = null ;
110116
111117
112- await initdom ( document . body ) ;
118+ initdom ( document . body ) ;
113119
114120
115121
116122 } //init
117123
124+
118125( async ( ) => {
119126
120127 mod . stack . add ;
131138 [ $ , datatype , menumod , keydown , debug ] = await promise ;
132139
133140 var hash = await import ( 'https://cdn.jsdelivr.net/npm/hash-wasm/+esm' ) ;
134- console . log ( hash ) ;
141+ // console.log(hash);
135142
136143 mod . stack . complete ;
137144
299306 # text-hdr [type = checkbox ]
300307 {width : 25px ;height : 25px ;margin-right : 10px }
301308
302- editor-root
309+ web-editor
303310 {flex : 1 }
304311
305312 # btns
347354
348355 < body >
349356
350- < h3 > Hash Generator Tool</ h3 >
351-
357+ < misc-hdr component =grp style ='position:relative '>
358+ < img class =title src ='images/hash-generator.png ' style ='top:-10px;height:50px ' alt =hash-generator >
359+ < time slot =date datetime =2025-10-31 > 31 Oct 2025</ time >
360+ </ misc-hdr >
352361
353362
354363 < div id =hdr >
@@ -373,7 +382,7 @@ <h3>Hash Generator Tool</h3>
373382 </ span >
374383 </ div >
375384
376- < editor component v2.0 > </ editor >
385+ < web- editor component > </ web- editor>
377386
378387 </ div >
379388
@@ -389,11 +398,11 @@ <h3>Hash Generator Tool</h3>
389398 </ span >
390399 </ div >
391400
392- < filemod component v2.0 > </ filemod >
401+ < file-mod component > </ file-mod >
393402
394403 < div id =blob >
395404
396- < filename-ui component v2.0 > </ filename-ui >
405+ < filename-ui component > </ filename-ui >
397406
398407 < section >
399408 < label >
@@ -472,7 +481,7 @@ <h3>Hash Generator Tool</h3>
472481 </ section >
473482
474483
475- < log component v2.0 > </ log >
484+ < log-mod component > </ log-mod >
476485
477486
478487 </ body >
@@ -507,7 +516,7 @@ <h3>Hash Generator Tool</h3>
507516
508517 root = rootnode ;
509518
510- chk = $ . chkbox . group ( root , '#file-hdr .chk-root' , '#text-hdr .chk-root' ) ;
519+ chk = $ . chkbox . group ( root , '#file-hdr .chk-root' , '#text-hdr .chk-root' ) ;
511520 filemod . initdom ( root ) ;
512521 filename . initdom ( root ) ;
513522
0 commit comments