TextDecrypter.vue 946 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <template>
  2. <div>
  3. <p>Text Decrypter</p>
  4. <form @submit.prevent="decryptText(text, rsaPvtKey);">
  5. <input type="text" v-model="text" />
  6. <button>Submit</button>
  7. </form>
  8. <pre>{{rsaPvtKey !== undefined ? "has key" : "no key" }}</pre>
  9. <pre>{{decryptedText}}</pre>
  10. </div>
  11. </template>
  12. <script>
  13. export default {
  14. name: "TextDecrypter",
  15. props: ["rsaPvtKey"],
  16. data() {
  17. return {
  18. text: '',
  19. decryptedText: ''
  20. }
  21. },
  22. methods: {
  23. decryptText: function(toDecrypt, privatekey) {
  24. const crypto = require("crypto");
  25. const constants = require("constants");
  26. const padding = constants.RSA_PKCS1_PADDING;
  27. this.decryptedText = crypto.privateDecrypt(
  28. {
  29. key: privatekey,
  30. padding: padding,
  31. },
  32. new Buffer(toDecrypt, 'base64'));
  33. },
  34. },
  35. }
  36. </script>