Обратная конвертация jQuery
Доброго времени суток
Помогите пожалуйста конвертировать код 2 скриптов в Native и объединить в один JS файл script1.js var EC = elliptic.elliptic().ec; var ec = new EC('secp256k1'); var keypair = ec.genKeyPair(); function update() { var prv = keypair.getPrivate('hex'); var pub = keypair.getPublic('hex'); $('#privateKey').val(bigInt(prv, 16).toString()); $('#publicKey').val(pub); } function random() { keypair = ec.genKeyPair(); update(); } $(function() { $('#randomButton').click(random); $('#privateKey').bind('keyup', function() { $('#privateKey').val($('#privateKey').val().replace(/\D/g, '')); keypair = ec.keyFromPrivate(bigInt($('#privateKey').val()).toString(16)); update(); }); update(); var keyPublic = $('#publicKey').val(); var keyPrivate = $('#privateKey').val(); }); script2.js var EC = elliptic.elliptic().ec; var ec = new EC('secp256k1'); var keypair = ec.genKeyPair(); function update() { var prv = keypair.getPrivate('hex'); var pub = keypair.getPublic('hex'); $('#privateKey').val(bigInt(prv, 16).toString()); $('#publicKey').val(pub); } $(function() { $('#sign-button').click(function() { var binaryMessage = buffer.Buffer.from(CryptoJS.SHA256($('#sign-message').val()).toString(CryptoJS.enc.Hex)); var hexSignature = buffer.Buffer.from(keypair.sign(binaryMessage).toDER()).toString('hex'); $('#sign-signature').val(hexSignature); $('#verify-signature').val(hexSignature); update(); }); $('#verify-button').click(function() { $('#publicKey').val($('#publicKey').val().replace(/[^0-9a-fA-F]/g, '')); var tmpKey; try { tmpKey = ec.keyFromPublic($('#publicKey').val(), 'hex'); var binaryMessage = buffer.Buffer.from(CryptoJS.SHA256($('#verify-message').val()).toString(CryptoJS.enc.Hex)); if (tmpKey.verify(binaryMessage, $('#verify-signature').val())) { <!-- Signature accepted --> } else { <!-- Signature denied --> } } catch(e) { <!-- Incorrect signature --> } }); $('#privateKey').bind('keyup', function() { $('#privateKey').val($('#privateKey').val().replace(/\D/g, '')); keypair = ec.keyFromPrivate(bigInt($('#privateKey').val()).toString(16)); update(); }); $('#sign-message').bind('keyup', function() { $('#verify-message').val($('#sign-message').val()); }); $('#verify-message').bind('keyup', function() { $('#sign-message').val($('#verify-message').val()); }); update(); }); P.S. Первый скрипт генерирует ключевую пару (Public/Private), второй генерирует сигнатуру любого текстового сообщения подписанного приватным ключом и проверяет подписанный текст уже по публичному ключу ... хотелось бы привести все эти jQuery к нативному виду по типу: function BuildKeys() { return { "Public": publicKey, "Private": privateKey } } function SignMessage(message, privateKey) { return hexSignature; } function VerifyMessage(message, publicKey, hexSignature) { return true; <!-- or false --> } |
Часовой пояс GMT +3, время: 03:11. |