Advertisement
Guest User

Untitled

a guest
Dec 30th, 2018
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.64 KB | None | 0 0
  1. <?php
  2. /**
  3.  * Created by PhpStorm.
  4.  * User: Krzysztof
  5.  * Date: 28.12.2018
  6.  * Time: 20:26
  7.  */
  8.  
  9. // insert your fancy crypto currency name here
  10. $crypto_name = 'Grünerium';
  11. // enter root domain here ending with /
  12. $root = 'http://pluton.kt.agh.edu.pl/~krbulanda/';
  13.  
  14. // establish connection to postgres database
  15. $db_conn = pg_connect("host=localhost dbname=DB_PROJ_BULANDA user= password=");
  16.  
  17. // initialize creation query output variable
  18. $creation_query_output = false;
  19.  
  20. if (isset($_POST['create_wallet']) and $db_conn) {
  21.     // user defined secret phrase
  22.     $secret_to_encrypt = $_POST['secret_to_encrypt'];
  23.     if (is_null($secret_to_encrypt)) {
  24.         // do some shit to make sure that user is not retarded
  25.         echo('xd');
  26.     } else {
  27.         // no need to escape as it will be ciphered
  28.         // $secret_to_encrypt_escaped = pg_escape_string($secret_to_encrypt);
  29.         // generate new key pair
  30.         $res = openssl_pkey_new();
  31.         // Get private key
  32.         openssl_pkey_export($res, $private_key);
  33.         // Get public key
  34.         $public_key = openssl_pkey_get_details($res);
  35.         $public_key = $public_key['key'];
  36.         // encrypt secret with private key
  37.         openssl_private_encrypt($secret_to_encrypt, $secret_encrypted, $private_key);
  38.         $secret_encrypted_hashed = hash("sha256", $secret_encrypted);
  39.         $creation_query_output = pg_query($db_conn, "SELECT create_wallet('" . $secret_encrypted_hashed . "','" . $public_key . "')");
  40.     }
  41. }
  42.  
  43. /*
  44.     to do
  45.     - printing details of created wallet (private key, public key)
  46. */
  47. ?>
  48.  
  49. <!DOCTYPE html>
  50. <html lang="en">
  51. <head>
  52.     <meta charset="utf-8">
  53.     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  54.     <meta name="description" content="">
  55.     <meta name="author" content="">
  56.  
  57.     <!-- Chrome, Firefox OS and Opera -->
  58.     <meta name="theme-color" content="#343a40">
  59.     <!-- Windows Phone -->
  60.     <meta name="msapplication-navbutton-color" content="#343a40">
  61.     <!-- iOS Safari -->
  62.     <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
  63.  
  64.     <title><?php echo($crypto_name); ?></title>
  65.  
  66.     <link rel="stylesheet" href="bootstrap.min.css">
  67.     <link href="style.css" rel="stylesheet">
  68. </head>
  69.  
  70. <body>
  71.  
  72. <header id="TOP">
  73.     <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
  74.         <a class="navbar-brand active" href="<?php echo($root); ?>"><?php echo($crypto_name); ?></a>
  75.  
  76.         <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse"
  77.                 aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
  78.             <span class="navbar-toggler-icon"></span>
  79.         </button>
  80.  
  81.         <div class="collapse navbar-collapse" id="navbarCollapse">
  82.             <ul class="navbar-nav mr-auto">
  83.  
  84.                 <li class="nav-item" id="create_wallet">
  85.                     <a class="text-success nav-link active" href="<?php echo($root); ?>create_wallet.php">Create
  86.                         wallet</a>
  87.                 </li>
  88.                 <li class="nav-item" id="new_transaction">
  89.                     <a class="text-warning nav-link active"
  90.                        href="<?php echo($root); ?>new_transaction.php">Send <?php echo($crypto_name); ?></a>
  91.                 </li>
  92.                 <li class="nav-item" id="show_transactions">
  93.                     <a class="text-info nav-link active" href="<?php echo($root); ?>show_transactions.php">Wallet
  94.                         summary</a>
  95.                 </li>
  96.                 <li class="nav-item" id="delete_wallet">
  97.                     <a class="text-danger nav-link active" href="<?php echo($root); ?>delete_wallet.php">Delete
  98.                         wallet</a>
  99.                 </li>
  100.  
  101.             </ul>
  102.         </div>
  103.     </nav>
  104. </header>
  105.  
  106. <main class="container">
  107.  
  108.     <h3 class="mt-5 text-center"><?php echo($crypto_name); ?> wallet creation</h3>
  109.  
  110.  
  111.     <form method="post">
  112.  
  113.         <div class="form-group">
  114.             <label for="username">Your secret passphrase:</label>
  115.             <input type="password" class="form-control" id="secret_to_encrypt" name="secret_to_encrypt"
  116.                    placeholder="please remember it as it is necessary to send your <?php echo($crypto_name); ?>"
  117.                    required>
  118.         </div>
  119.  
  120.         <div class="text-center">
  121.             <button type="submit" name="create_wallet" class="btn btn-default">Create <?php echo($crypto_name); ?>
  122.                 wallet
  123.             </button>
  124.         </div>
  125.  
  126.     </form>
  127.  
  128.     <?php
  129.     if ($creation_query_output) {
  130.         echo('
  131.        <blockquote class="blockquote">
  132.            <p class="mb-0">' . $private_key . '</p>
  133.            <footer class="blockquote-footer">Your private key - please store it in safe place as it is also necessary to send your crypto currency</footer>
  134.        </blockquote>
  135.    
  136.        <blockquote class="blockquote">
  137.            <p class="mb-0">' . $public_key . '</p>
  138.            <footer class="blockquote-footer">Your public key - store it to check your wallet summary and share it to get this crypto currency from other people</footer>
  139.        </blockquote>
  140.        ');
  141.     }
  142.     ?>
  143.  
  144. </main>
  145.  
  146. <footer class="footer">
  147.     <div class="container">
  148.         <span class="text-bold"><a class="text-muted" target="_blank"
  149.                                    href="<?php echo($root); ?>"><?php echo($crypto_name); ?></a> - Krzysztof Bulanda 2019</span>
  150.     </div>
  151. </footer>
  152.  
  153. <script src="jquery-3.3.1.js"></script>
  154. <script src="popper.min.js"></script>
  155. <script src="bootstrap.min.js"></script>
  156. </body>
  157. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement