问题标签 [pointycastle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
638 浏览

flutter - Flutter 中的 PKCS1 加密在没有反射的情况下将无法工作

我正在编写一些代码来加密来自颤振客户端的数据并将其发送到我们的服务器。我们正在使用 PKCS1 填充的 RSA,但在尝试加密数据时出现以下错误。

负责这个的代码如下。

我已经设法让一个非填充样本运行良好,但 PKCS1 填充加密需要一个随机生成器,该生成器通过反射初始化,并且颤振说不。

任何帮助,将不胜感激。

0 投票
1 回答
805 浏览

dart - 在 Dart 中使用 AES ECB 加密二进制数组

我正在寻找一种在 Dart 中加密二进制数组的方法。我看过一些更常见的库,例如https://pub.dartlang.org/packages/encrypt,但其中许多只能处理字符串形式的 AES 密钥和数据,而不是二进制数组。

我还查看了https://github.com/PointyCastle/pointycastle,它似乎能够处理二进制数组中的 AES 密钥和数据,但我不太清楚如何正确使用它。包含数据的二进制数组始终与键长度相同,因此不需要任何填充。

到目前为止,这是我的代码:

这会导致以下错误消息:

不幸的是,关于如何使用 PointyCastle 的信息并不多。有没有更好的方法来完成我想要的?

0 投票
1 回答
741 浏览

dart - 从 ECPrivateKey 和 ECPublicKey 对象中获取十六进制字符串

我正在尝试使用尖角城堡使用 secp256k1 曲线生成公钥和私钥对。我想我已经成功创建了一个由 ECPrivateKey 和 ECPublicKey 组成的 AsymmetricKeyPair,但我无法获得它们对应的十六进制字符串(如下所示:

私人: ee792658c8eb1f8c3d2010ee6bc2ea328bb584fbecbfb17cf0f9103d122a8716,

公共: 041b3f87beb2559aa3ca1c1d9ebb9447e4842d21cf0c70db103acc0db27ea8c27536fc2b1405b8a16a460ca089b01de8c556825927b4890b7236e357787f3e6d54)。

当我尝试打印密钥时,无论我是否使用 .toString(),我得到的只是“'ECPrivateKey' 的实例”和“'ECPublicKey' 的实例”。

我一直在四处寻找一种方法来做到这一点,但我找不到,这甚至可能吗?

这是我的代码:

0 投票
3 回答
11811 浏览

dart - 兼容 Flutter 和 javascript 的 AES 加解密

我正在尝试用颤振和 Javascript 编写两个函数,我可以在整个项目中使用它们在交换数据时使用 AES 加密或解密数据。对于 Flutter,我正在使用基于说明 https://gist.github.com/proteye/e54eef1713e1fe9123d1eb04c0a5cf9b?signup=true的 pointycastle 包

和类颤振convert_helper.dart

对于 Javascript 解决方案,我使用 CryptoJS

两种解决方案都可以在自己的环境中运行良好,但是,flutter 或 Javascript 哈希无法交换,它们不会解密。我的猜测是字符编码与它有关,因此为什么 base64 大小差异如此之大。有没有人有想法让它一起工作?谢谢!

有没有人有想法让它一起工作?

0 投票
1 回答
2420 浏览

dart - 从 KeyPair Generation Flutter 获取 RSA 公钥或私钥

我添加了 pointycastle 并生成了一个密钥对,加密了试用“Hello World”字符串。由此,我想获取私钥和​​公钥的值。它们是否存储在任何地方,因为每当我尝试打印 的值时keyPair.privateKey,它都会返回Instance of 'RSAPrivateKey.

这是我使用的代码

0 投票
1 回答
823 浏览

dart - Dart - 密钥生成方法

我正在寻找一个 dart 包,以便在 Flutter 应用程序中实现密钥交换协议(椭圆曲线 Diffie-Hellman)。

  • 应用程序在登录期间生成一个密钥对并将公钥发送到服务器(因此每次登录都会生成一个新的密钥对)
  • 服务器发回它刚刚生成的公钥
  • 应用程序从它的私钥和服务器的公钥生成一个密钥
  • app 包含所有后续发送到服务器的消息的 hmac

我查看了支持 Diffie-Hellman 的 pointycastle。但我找不到任何生成密钥的方法。这就是 java 生成的内容:

想知道您是否发现了一些线索,可以从 dart 中的私钥和服务器的公钥生成密钥。

0 投票
1 回答
3107 浏览

flutter - How to encrypt and decrypt using AES CBC 256bit and PKCS5Padding in dart and also retrieve parameters

I have some java code which I am trying to replicate in Dart (class can be found at here)

The EncryptedBytes class is simply just a data holder

Right now in Dart I'm using PointyCastle and have gotten this close (not tested it though)

I'm not entirely sure what I can use to get an equivalent of the java code above in Dart. Base64 returns a String for encoding and requires a string for decoding while aes.process() requires and returns Uint8List

0 投票
1 回答
672 浏览

flutter - 如何从字符串导入随机生成的 4096 位 Java RSA 公钥

我有一个网络应用程序,我正在尝试与 Java、Flutter 和加密一起使用。我在 Java 中使用 4096 位 RSA 随机生成的密钥对,我正在使用它来加密随机生成的 AES 256 位密钥

我只需要 Dart 代码,因为 Java 代码已经在工作了。

在Java中我使用这个

在 Dart 中,我使用的是 PointyCastle 和这种方法;但是它不起作用

0 投票
1 回答
242 浏览

asynchronous - Dart:PointyCastle 异步计算

目前我正在尝试将凭据数据发送到我的后端,因此出于安全目的我想对密码进行哈希处理。

但是当我使用该方法PassCrypt().hashPass("", passwd, 48)时,整个 App 冻结了将近 1-2 秒。有没有办法异步等待输入?

谢谢 :)

0 投票
0 回答
166 浏览

dart - Dart 正确填充 AES 密钥

我正在 dart 中构建一个简单的加密工具。

我需要用密码加密我的 rsa 私钥。

我正在使用 AES 进行加密。

AES 要求密钥是特定的编号。位。

在我的情况下是 256 位。

我要求用户输入至少 16 个字符(128 位)的密码。

因此,我需要将密码短语扩展到完整的 256 位。

目前我只是将密码加倍,然后将结果剪辑为 256 位。

这是正确的做法还是填充密钥的更安全方法?

我正在使用基于 java bouncycastle 库的 dart pointycastle 库。


更新

这是我最近的尝试