微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用OpenPGP.js简单地加密字符串?

如何解决如何使用OpenPGP.js简单地加密字符串?

我只想能够做这样的事情:

function encryptString(string,publicKey) {
    // do stuff....
    return encryptedString;
}

我看过OpenPGP和JSEncrypt。 JSEncrypt似乎根本不起作用。只是返回false。当我需要实时同步计算时,OpenPHP需要异步调用

关于我可能做错了什么的任何想法?

对于JSEncrypt,我得到的错误很可能是由于我的密钥很长。该库似乎支持短字符串。

我有点迷茫。任何朝着正确方向推动的人都会受到赞赏吗?

解决方法

这对我有用(尽管它当然并不优雅):

function pgp_encryptValues(cvv,cc)
{
    var keyId = '{{ $keyId }}';
    var base64EncodedPublicKey = '{{ $publicKey }}';

    var CardDetails = {
        "number": cc,"cvv"   : cvv
       };
       const stringified      =  JSON.stringify(CardDetails);
       const pciEncryptionKey = base64EncodedPublicKey;
       const decodedPublicKey = atob(pciEncryptionKey)

        async function setPgpCode()
        {
            const options = {
             message: openpgp.message.fromText(stringified),publicKeys: (await openpgp.key.readArmored(decodedPublicKey)).keys
            }
            return openpgp.encrypt(options).then((ciphertext) =>
            {
                var cipherResultEncoded = btoa(ciphertext.data);
                jQuery("#encryptedData").val(cipherResultEncoded);
                jQuery("#keyID").val(keyId);
                return {
                    encryptedData: btoa(ciphertext.data),keyId: keyId
                }
            })
        };

        if (promiseStarted) {
            while (promiseStarted)
            {
                // wait til its done...
            }
        }

        promiseStarted   = true;
        promiseEnded     = false;
        setPgpCode();
        promiseStarted   = false;
        promiseEnded     = true;

    }

非常hackey,随着时间的推移,我可能会对其进行改进,但至少可以奏效!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?