Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //JAVSCRIPT
- function resKey() //Получаем через сервер public key и записываем через сервер в сессию provate key
- {
- ajaxPost
- (
- {
- header: 'pubKey',
- url: '/blocks/login/js/qwe.php',
- },
- resKeySql
- );
- }
- function resKeySql(publicKey) //Генерируем рандомный код и прогоняем через publiсKey, который вернули с сервера
- {
- code = codeGenerate(10000, 1000000000);
- var crypt = new JSEncrypt();
- crypt.setPublicKey(publicKey);
- cryptCode = crypt.encrypt(code);
- console.log("Public key: " + publicKey);
- console.log('CodeGenerate: ' + code);
- console.log('RSA KEY CODE: ' + cryptCode);
- ajaxPost
- (
- {
- header: 'encodeSha',
- url: '/blocks/login/js/qwe.php',
- rsa_key: cryptCode
- },
- con
- );
- }
- //ENDJAVASCRIPT
- //PHP
- function server_generateRSA() //Отдаем publicKey и записываем privateKey
- {
- $config = array(
- "digest_alg" => "sha512",
- "private_key_bits" => 1024,
- "private_key_type" => OPENSSL_KEYTYPE_RSA,
- );
- $res = openssl_pkey_new($config);
- openssl_pkey_export($res, $privKey);
- $pubKey = openssl_pkey_get_details($res);
- echo $pubKey['key'];
- $_SESSION['private_key'] = $privKey;
- }
- function encodeRSA($rsaKey) //Декодируем рандомные цифры из JS
- {
- //$txt = "Hello world!";
- $pk = openssl_get_privatekey($_SESSION['private_key']);
- openssl_private_decrypt(base64_decode($rsaKey), $decrypted, $pk);
- $_SESSION['decrypted_key_user'] = $decrypted;
- //$txt = base64_encode(strcode($txt, 'miranda'));
- echo 'Code decrypted: '.$decrypted.'\n';
- }
Advertisement
Add Comment
Please, Sign In to add comment