-
Notifications
You must be signed in to change notification settings - Fork 376
Commit
- Loading branch information
There are no files selected for viewing
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="content-language" content="en"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>ECDSA Key Generator - Online Tools</title><base href="/online-tools/"><meta name="keywords" content="ECDSA,secp256k1,key,generate,pem,hex,base64"><meta name="author" content="emn178"><meta name="copyright" content="emn178"><meta name="description" content="This online tool helps you generate a pair of ECDSA keys. It supports PEM, HEX, and Base64 formats, as well as various curves."><meta property="og:type" content="website"><meta property="og:title" content="ECDSA Key Generator"><meta property="og:url" content="https://emn178.github.io/online-tools/ecdsa/key-generator/"><meta property="og:site_name" content="Online Tools"><meta property="og:description" content="This online tool helps you generate a pair of ECDSA keys. It supports PEM, HEX, and Base64 formats, as well as various curves."><meta property="og:locale" content="en"><meta property="og:image" content="https://emn178.github.io/online-tools/images/logo.svg"><meta property="article:author" content="emn178"><meta property="article:tag" content="ECDSA,secp256k1,key,generate,pem,hex,base64"><meta property="twitter:card" content="summary"><meta property="twitter:image" content="https://emn178.github.io/online-tools/images/logo.svg"><link rel="canonical" href="https://emn178.github.io/online-tools/ecdsa/key-generator/"><link rel="icon" href="images/logo.svg"><script>var delayScripts = []; | ||
var waitLoadCount = 0; | ||
if (location.hostname != 'localhost') { | ||
window.dataLayer = window.dataLayer || []; | ||
function gtag(){dataLayer.push(arguments);} | ||
gtag('js', new Date()); | ||
gtag('config', 'G-WT6N5R6W6Z'); | ||
|
||
(function () { | ||
var gaUrl = 'https://www.googletagmanager.com/gtag/js?id=G-WT6N5R6W6Z'; | ||
|
||
function initGTMOnEvent(e) { | ||
document.removeEventListener(event.type, initGTMOnEvent); | ||
initGTM(); | ||
} | ||
|
||
function initGTM() { | ||
if (window.gtmDidInit) { | ||
return; | ||
} | ||
window.gtmDidInit = true; | ||
var script = document.createElement('script'); | ||
script.async = true; | ||
script.src = gaUrl; | ||
document.head.appendChild(script); | ||
} | ||
|
||
if (document.addEventListener) { | ||
document.addEventListener('DOMContentLoaded', function() { | ||
setTimeout(initGTM, 3500); | ||
}); | ||
document.addEventListener('scroll', initGTMOnEvent); | ||
document.addEventListener('mousemove', initGTMOnEvent); | ||
document.addEventListener('touchstart', initGTMOnEvent); | ||
} else { | ||
delayScripts.push({ | ||
src: gaUrl | ||
}); | ||
} | ||
})(); | ||
} | ||
|
||
if (localStorage.getItem('DARK') === '1') { | ||
document.documentElement.classList.add('dark-theme') | ||
} | ||
</script><link rel="stylesheet" href="css/style.css?v=20"></head><body><div id="app"><div id="sidebar"><div class="mask"></div><div class="container"><header><a href="./"><img src="images/logo.svg" width="18" height="18" alt="Logo"><h2>Online Tools</h2></a><div class="toolbar"><button class="icon theme"><img class="light" src="images/light.svg" alt="Dark mode" title="Dark mode"><img class="dark" src="images/dark.svg" alt="Dark mode" title="Dark mode"></button></div></header><div class="section"><h3>Hash</h3><details><summary>CRC</summary><nav><ol><li><a href="crc16.html">CRC-16</a></li><li><a href="crc16_checksum.html">CRC-16 File</a></li><li><a href="crc32.html">CRC-32</a></li><li><a href="crc32_checksum.html">CRC-32 File</a></li></ol></nav></details><details><summary>MD</summary><nav><ol><li><a href="md2.html">MD2</a></li><li><a href="md2_file_hash.html">MD2 File</a></li><li><a href="md4.html">MD4</a></li><li><a href="md4_file_hash.html">MD4 File</a></li><li><a href="md5.html">MD5</a></li><li><a href="md5_checksum.html">MD5 File</a></li></ol></nav></details><details><summary>SHA1</summary><nav><ol><li><a href="sha1.html">SHA1</a></li><li><a href="sha1_checksum.html">SHA1 File</a></li></ol></nav></details><details><summary>SHA2</summary><nav><ol><li><a href="sha224.html">SHA224</a></li><li><a href="sha224_checksum.html">SHA224 File</a></li><li><a href="sha256.html">SHA256</a></li><li><a href="sha256_checksum.html">SHA256 File</a></li><li><a href="double_sha256.html">Double SHA256</a></li></ol></nav></details><details><summary>SHA2-512</summary><nav><ol><li><a href="sha384.html">SHA384</a></li><li><a href="sha384_file_hash.html">SHA384 File</a></li><li><a href="sha512.html">SHA512</a></li><li><a href="sha512_file_hash.html">SHA512 File</a></li><li><a href="sha512_224.html">SHA512/224</a></li><li><a href="sha512_224_file_hash.html">SHA512/224 File</a></li><li><a href="sha512_256.html">SHA512/256</a></li><li><a href="sha512_256_file_hash.html">SHA512/256 File</a></li></ol></nav></details><details><summary>SHA3</summary><nav><ol><li><a href="sha3_224.html">SHA3-224</a></li><li><a href="sha3_224_checksum.html">SHA3-224 File</a></li><li><a href="sha3_256.html">SHA3-256</a></li><li><a href="sha3_256_checksum.html">SHA3-256 File</a></li><li><a href="sha3_384.html">SHA3-384</a></li><li><a href="sha3_384_checksum.html">SHA3-384 File</a></li><li><a href="sha3_512.html">SHA3-512</a></li><li><a href="sha3_512_checksum.html">SHA3-512 File</a></li></ol></nav></details><details><summary>Keccak</summary><nav><ol><li><a href="keccak_224.html">Keccak-224</a></li><li><a href="keccak_224_checksum.html">Keccak-224 File</a></li><li><a href="keccak_256.html">Keccak-256</a></li><li><a href="keccak_256_checksum.html">Keccak-256 File</a></li><li><a href="keccak_384.html">Keccak-384</a></li><li><a href="keccak_384_checksum.html">Keccak-384 File</a></li><li><a href="keccak_512.html">Keccak-512</a></li><li><a href="keccak_512_checksum.html">Keccak-512 File</a></li></ol></nav></details><details><summary>SHAKE</summary><nav><ol><li><a href="shake_128.html">SHAKE128</a></li><li><a href="shake_128_checksum.html">SHAKE128 File</a></li><li><a href="shake_256.html">SHAKE256</a></li><li><a href="shake_256_checksum.html">SHAKE256 File</a></li></ol></nav></details><details><summary>cSHAKE</summary><nav><ol><li><a href="cshake128.html">cSHAKE128</a></li><li><a href="cshake128_file_hash.html">cSHAKE128 File</a></li><li><a href="cshake256.html">cSHAKE256</a></li><li><a href="cshake256_file_hash.html">cSHAKE256 File</a></li></ol></nav></details><details><summary>KMAC</summary><nav><ol><li><a href="kmac128.html">KMAC128</a></li><li><a href="kmac128_file_hash.html">KMAC128 File</a></li><li><a href="kmac256.html">KMAC256</a></li><li><a href="kmac256_file_hash.html">KMAC256 File</a></li></ol></nav></details><details><summary>RIPEMD</summary><nav><ol><li><a href="ripemd-128/">RIPEMD-128</a></li><li><a href="ripemd-128/file/">RIPEMD-128 File</a></li><li><a href="ripemd-160/">RIPEMD-160</a></li><li><a href="ripemd-160/file/">RIPEMD-160 File</a></li><li><a href="ripemd-256/">RIPEMD-256</a></li><li><a href="ripemd-256/file/">RIPEMD-256 File</a></li><li><a href="ripemd-320/">RIPEMD-320</a></li><li><a href="ripemd-320/file/">RIPEMD-320 File</a></li></ol></nav></details><details><summary>BLAKE</summary><nav><ol><li><a href="blake2b/">BLAKE2b</a></li><li><a href="blake2b/file/">BLAKE2b File</a></li><li><a href="blake2s/">BLAKE2s</a></li><li><a href="blake2s/file/">BLAKE2s File</a></li><li><a href="blake3/">BLAKE3</a></li><li><a href="blake3/file/">BLAKE3 File</a></li></ol></nav></details></div><div class="section"><h3>Cryptography</h3><details class="active" open><summary>ECDSA</summary><nav><ol><li class="active"><a href="ecdsa/key-generator/">Key Generator</a></li><li><a href="ecdsa_sign.html">Sign Message</a></li><li><a href="ecdsa_verify.html">Verify Signature</a></li></ol></nav></details></div><div class="section"><h3>Encoding</h3><details><summary>Hex (Base16)</summary><nav><ol><li><a href="hex_encode.html">Encode</a></li><li><a href="hex_decode.html">Decode</a></li><li><a href="hex_encode_file.html">File to Hex</a></li><li><a href="hex_decode_file.html">Hex to File</a></li></ol></nav></details><details><summary>Base32</summary><nav><ol><li><a href="base32_encode.html">Encode</a></li><li><a href="base32_decode.html">Decode</a></li><li><a href="base32_encode_file.html">File to Base32</a></li><li><a href="base32_decode_file.html">Base32 to File</a></li></ol></nav></details><details><summary>Base58</summary><nav><ol><li><a href="base58_encode.html">Encode</a></li><li><a href="base58_decode.html">Decode</a></li><li><a href="base58_encode_file.html">File to Base58</a></li><li><a href="base58_decode_file.html">Base58 to File</a></li></ol></nav></details><details><summary>Base64</summary><nav><ol><li><a href="base64_encode.html">Encode</a></li><li><a href="base64_decode.html">Decode</a></li><li><a href="base64_encode_file.html">File to Base64</a></li><li><a href="base64_decode_file.html">Base64 to File</a></li></ol></nav></details><details><summary>HTML</summary><nav><ol><li><a href="html_encode.html">Encode</a></li><li><a href="html_decode.html">Decode</a></li></ol></nav></details><details><summary>URL</summary><nav><ol><li><a href="url_encode.html">Encode</a></li><li><a href="url_decode.html">Decode</a></li></ol></nav></details></div><div class="section"><h3>Format</h3><details><summary>JSON</summary><nav><ol><li><a href="json/validator/">Validator</a></li><li><a href="json/minifier/">Minifier</a></li><li><a href="json/formatter/">Formatter</a></li><li><a href="json/viewer/">Viewer</a></li></ol></nav></details><details><summary>XML</summary><nav><ol><li><a href="xml/minifier/">Minifier</a></li><li><a href="xml/formatter/">Formatter</a></li></ol></nav></details></div><div class="section"><h3>Convert</h3><details><summary>Case</summary><nav><ol><li><a href="convert_lower_case.html">lower case</a></li><li><a href="convert_upper_case.html">UPPER CASE</a></li><li><a href="convert_lower_camel_case.html">lowerCamelCase</a></li><li><a href="convert_upper_camel_case.html">UpperCamelCase</a></li><li><a href="convert_snake_case.html">snake_case</a></li><li><a href="convert_kebab_case.html">kebab-case</a></li><li><a href="convert_constant_case.html">CONSTANT_CASE</a></li></ol></nav></details></div><div class="section"><h3>Others</h3><details><summary>Others</summary><nav><ol><li><a href="qr-code/generator/">QR Code Generator</a></li><li><a href="syntax_highlight.html">Syntax Highlight</a></li></ol></nav></details></div><div class="section"><h3>Links</h3><nav class="links"><ol><li><a href="https://github.com/emn178/online-tools/issues">Contact</a></li></ol></nav></div></div></div><div id="content"><div class="top-nav"><button id="sidebar-toggler" aria-controls="sidebar" aria-expanded="false" aria-label="Menu"><img src="images/menu.svg" width="24" height="24" alt="Menu"></button></div><header><h1>ECDSA Key Generator</h1><p>This online tool helps you generate a pair of ECDSA keys. It supports PEM, HEX, and Base64 formats, as well as various curves.</p></header><main><div class="layout"><div class="layout-block"><div class="output"><div class="block-title">Private Key<div class="toolbar"><a class="icon" id="download-image" download="download" style="display:none"><img src="images/download.svg" alt="Download" title="Download"/></a><button class="icon" data-toggle="copy" data-clipboard-target="#output" data-message="Output copied"><img src="images/copy.svg" alt="Copy" title="Copy"/></button></div></div><textarea class="container" id="output" spellcheck="false" placeholder="Private key here..." readonly="readonly"></textarea><div class="block-title">Public Key<div class="toolbar"><a class="icon" id="download-public" download="public.pem" style="display:none"><img src="images/download.svg" alt="Download" title="Download"/></a><button class="icon" data-toggle="copy" data-clipboard-target="#public-key" data-message="Public key copied"><img src="images/copy.svg" alt="Copy" title="Copy"/></button></div></div><textarea class="container" id="public-key" spellcheck="false" placeholder="Public key here..." readonly="readonly"></textarea><details data-toggle="copyblock"><summary class="block-title">Share Link<div class="toolbar"><button class="icon" data-toggle="copy" data-clipboard-target="#share-link" data-message="Share link copied"><img src="images/copy.svg" alt="Copy" title="Copy"/></button></div></summary><input id="share-link" type="text" placeholder="Share Link" readonly="readonly"/></details></div></div><div class="settings"><div class="block-title">Settings</div><div class="container"><div class="setting"><a class="btn" id="execute">Generate</a></div><div class="setting"><label class="switcher"><input type="checkbox" value="1" id="auto-update" checked><div class="toggle"></div><span>Auto Update</span></label></div><div class="setting"><label class="switcher"><input type="checkbox" value="1" id="remember-input"><div class="toggle"></div><span>Remember Input</span></label></div><div class="setting"><label for="key-type">Output Type</label><select id="key-type" data-option="key-type" data-remember="key-type" data-share="key_type"><option value="pem_text">Pem Text</option><option value="hex">Hex</option><option value="base64">Base64</option></select></div><div class="setting"><label for="curve">Curve</label><select id="curve" data-option="curve" data-remember="curve" data-share="curve"><option value="secp192k1">SECG secp192k1 / X9.63 ansip192k1</option><option value="secp224r1">SECG secp224r1 / X9.63 ansip224r1 / NIST P-224 / WTLS wap-wsg-idm-ecid-wtls12</option><option value="secp256r1">SECG secp256r1 / X9.62 prime256v1 / NIST P-256</option><option value="secp256k1" selected>SECG secp256k1 / X9.63 ansip256k1</option><option value="secp384r1">SECG secp384r1 / X9.63 ansip384r1 / NIST P-384</option><option value="secp521r1">SECG secp521r1 / X9.63 ansip521r1 / NIST P-521</option></select></div></div></div></div><script>++waitLoadCount; | ||
delayScripts.push({ | ||
src: 'js/ecdsa.js?v=2', | ||
onload: function () { | ||
window.method = withOptions(generate, ['curve', 'key-type']); | ||
methodLoad(); | ||
} | ||
});</script><script>++waitLoadCount; | ||
delayScripts.push({ | ||
src: 'https://kjur.github.io/jsrsasign/jsrsasign-all-min.js', | ||
onload: function () { | ||
methodLoad(); | ||
} | ||
});</script><script>delayScripts.push({ | ||
src: 'js/clipboard.min.js', | ||
onload: function () { | ||
new ClipboardJS('[data-toggle="copy"]').on('success', function (e) { | ||
showMessage(e.trigger.getAttribute('data-message')); | ||
}); | ||
}, | ||
delay: 100 | ||
});</script></main></div><div id="message"></div></div><script src="https://code.jquery.com/jquery-1.10.1.min.js" defer></script><script src="js/main.js?v=32" defer></script></body></html> |