jjzjj

cryptography

全部标签

javascript - 是否存在免费的通用 ASN.1 解码/转储/检查程序?

是否存在免费的通用ASN.1解码/转储/检查程序?我有一个可疑的ASN.1block,它可能解密失败,我想检查它以查看它是否有效,如果有效,它包含哪些元素。 最佳答案 我还使用了dumpasn1并取得了好几年的成功),然后我决定在屏幕上查看200行长的嵌套标签有点难以理解并且想要更动态的东西,所以我可以折叠树的一部分以及类似的东西。这就是我试图用我自己的asn1js创造的东西客户端javascriptASN.1解码器。它也是开源的,并使用dumpasn1巨大的“已知OID”配置文件。不尝试检测所有ASN.1格式错误,仅检测无法解码的

javascript - 使用 JS 中的 SJCL 和 Ruby 中的 OpenSSL 的椭圆曲线加密

我正在开发一个Web应用程序,它必须能够在服务器端使用ECC加密数据并在浏览器中解密。我发现在JS中唯一能够做到这一点的库是SJCL。然而,由于SJCL中的ECC支持目前似乎有点被放弃,我使用了fork,它具有key序列化支持和demo以便于理解。首先,我在JS中生成一个ECCkey对:keypair=sjcl.ecc.elGamal.generateKeys(384,10);document.writeln(JSON.stringify(keypair.pub.serialize()));输出如下:{"point":[1110230655,241884220,775655552,-8

javascript - Crypto.randomBytes 处理异常对熵不足有何影响?

在此方法的文档中,它声明如果没有足够的熵来生成数据,它将抛出异常。我的问题与熵有关。它是如何生成的,您能否通过提供足够的熵来防止抛出异常?抛出异常的频率有多高,还是未知?crypto.randomBytes的文档:crypto.randomBytes(size,[callback])//asynccrypto.randomBytes(256,function(ex,buf){if(ex)throwex;console.log('Have%dbytesofrandomdata:%s',buf.length,buf);});Generatescryptographicallystrongp

javascript - 使用 Node.js、Express 和 Trialpay 进行 HMAC MD5 验证

我正在尝试使用Node.js和Express验证从TrialPay发送的消息。TrialPay使用HMAC-MD5哈希对请求进行签名,并提供theseinstructions关于验证。这是我的代码:app.post('/trialpay',function(req,res){varkey="[MYMERCHANTKEY]";varhash=req.header("TrialPay-HMAC-MD5");vardata=req.body.toString();varcrypted=require("crypto").createHmac("md5",key).update(data).d

javascript - 浏览器中javascript中的openssl解密

我正在寻找一种方法来在客户端分别对RSA和openssl编码的消息进行解码。想法:特殊数据仅使用公钥加密存储在服务器上,因此任何人都无法看到真实数据-即使在服务器被黑客入侵的情况下也是如此。然后,adminforce中的管理员可以通过将这些文件传输到浏览器来“打开”这些文件,一些javascript代码将解码数据,这样它就永远不会在服务器上解密,只会在安全的客户端上解密。我真的需要它在浏览器中使用自定义javascript直接解码,因为这些数据随后必须由js中的某些算法客户端使用。问题:javascript中似乎没有openssl库,或者我还没有找到。虽然有几个RSA的纯js实现,它们

javascript - 兼容C#和javascript的AES加解密

我正在尝试用C#和Javascript编写两个类,我可以在整个项目中使用它们在交换数据时使用AES加密或解密数据。使用AES,我在加密结果中嵌入了Salt(32字节)和IV(16字节),这在测试时对两个类都有效。将Salt和IV添加到组合中并不会带来很多引用来使它在两个平台之间工作。对于C#,我使用标准的System.Security.Crypthography.AESprivatestaticreadonlyintiterations=1000;publicstaticstringEncrypt(stringinput,stringpassword){byte[]encrypted;

javascript - 使用加密的 Node.js 密码哈希 bcrypt 替代方案

我实际上是在使用bcrypt模块来散列和比较散列密码。我想做的是删除bcrypt模块并使用默认的crypto库来哈希和比较密码。这可能吗?这会比使用node-bcrypt安全吗?你有关于如何做的任何示例/教程/文档/链接吗?或者我实际上这样做的例子:bcrypt.hash(string,secret_key)bcrypt.compare(string,string,secret_key);如果可能的话,我只想用加密复制它:crypto.hash(string,secret_key)crypto.compare(string,string,secret_key);

javascript - 使用加密 node.js 库,无法快速连续多次创建 SHA-256 哈希

我正在创建一个自动递增数字的散列。我已经创建了两个示例循环来说明我是如何尝试实现这一目标的。运行#1时,第一个哈希记录到控制台,在循环的第二次迭代中,返回以下错误。错误:已调用摘要我认为这是由于文档中的引用所致:调用hash.digest()方法后,无法再次使用Hash对象。多次调用将导致抛出错误。如何创建一个使用Node的加密库同时创建多个哈希的循环?//Reproduce#1constcrypto=require('crypto');consthash=crypto.createHash('sha256');for(leti=0;i 最佳答案

javascript - 在 nodejs 代码中使用 window.crypto

我正在尝试在nodejs脚本中使用window.crypto.getRandomValues方法。据我了解,当我在Node中运行这样的简单代码时,没有window元素:vararray=newUint32Array(10);window.crypto.getRandomValues(array);这就是我收到此错误的原因:ReferenceError:windowisnotdefined如何在我的代码中使用这个方法?谢谢 最佳答案 您可以使用内置的crypto模块代替。它同时提供了crypto.randomBytes()以及cryp

javascript - 按照维基百科上的说法实现 LLL 算法,但遇到了严重的问题

我不确定我的问题是否与编程有关或与LLL算法的概念以及维基百科上提到的内容有关。我决定实现LLL算法,因为它已写在Wikipedia(step-by-step/line-by-line)上实际学习算法并确保它真正有效,但我得到了意外或无效的结果。因此,我使用了JavaScript(编程语言)和node.js(JavaScript引擎)来实现它并且thisisthegitrepository获取完整代码。长话短说,K的值超出范围,例如当我们只有3个向量时(数组大小为3,因此索引的最大值为2),但k变为3,这是无稽之谈。我的代码是对Wikipedia中提到的算法的逐步(逐行)实现而我所做的