首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用OpenPGP.js简单地加密字符串?

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

Stack Overflow用户
提问于 2020-09-21 20:23:22
回答 1查看 71关注 0票数 0

我只想做这样的事情:

代码语言:javascript
复制
function encryptString(string, publicKey) {
    // do stuff....
    return encryptedString;
}

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

有没有想过我可能做错了什么?

对于JSEncrypt,我得到的错误很可能是因为我的密钥太长了。这个库似乎支持短字符串。

我有点迷路了。在正确的方向上的任何推动都将受到赞赏?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-23 13:31:00

这对我很有效(尽管它肯定不是很优雅):

代码语言:javascript
复制
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,我可能会随着时间的推移改进它,但至少它是有效的!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63992207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档