我有一个快速的问题.我有一个keygen为我的应用程序生成随机密码.它会生成大写字母和数字,但我希望它像某些程序一样格式化它们的代码xxxx-xxxx-xxxx.到目前为止我的代码就是这个
Random random = new Random(0);
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = getrandomcode();
}
public string getrandomcode()
{
char[] tokens = {'0', '1', '2', '3', '4', '5', '7', '8', '9', 'A', 'B', 'C',
'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
char[] codeArray = new char[24];
for (int i = 0; i < 24; i++)
{
int index = random.Next(tokens.Length …Run Code Online (Sandbox Code Playgroud) 这是我的代码片段:
int eValue = 79, t;
int bitLength = 1024; // KeySize
BigInteger e = new BigInteger(Integer.toString(eValue));
KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
kpg.initialize(bitLength);
KeyPair kp = kpg.generateKeyPair();
KeyFactory kfactory = KeyFactory.getInstance("RSA");
RSAPublicKeySpec kspec = (RSAPublicKeySpec) kfactory.getKeySpec(kp.getPublic(),
RSAPublicKeySpec.class);
System.out.println("Byte Length is : " + kspec.getModulus().toByteArray().length);
String testString;
try {
testString = new String (kspec.getModulus().toByteArray() , "ISO-8859-1");
StringBuilder tt = new StringBuilder();
for(t =0 ; t< testString.length() ; t++)
{
tt.append((int) testString.charAt(t)+",");
}
String encryptedBytes = tt.toString();
System.out.println("Mod is : " + encryptedBytes); …Run Code Online (Sandbox Code Playgroud) 对不起我的英语,说实话,我对此有一点了解所以请耐心等待.
我正在开发一个将签名请求发送到服务器的Java应用程序.为此,我必须以格式生成PKCS#1 RSA密钥对以PEM进行签名和验证.我尝试过使用OpenSSL v.1.0.1.但生成的公钥是一个X.509 PEM.
这是我用来生成密钥的openssl命令:
私钥:
openssl genrsa -out name_of_private_key.pem 1024
Run Code Online (Sandbox Code Playgroud)
公钥
openssl rsa -in name_of_private_key.pem -pub out > name_of_public_key.pem
Run Code Online (Sandbox Code Playgroud)
我也经历了这个线程,我发现了一个开源JAVA库BouncyCastle:用Java生成PKCS#1格式的RSA密钥
但它说BouncyCastle仅用于PKCS#1 填充而不是编码.
最好是,如果没有其他选项,我正在寻找使用JAVA或任何第三方生成它的方法.
我需要知道如何使用 angular2 在客户端生成“rsa”密钥对。我需要生成私钥/公钥对并将私钥保存到数据库中,并希望在客户端内部使用公钥。我该如何实施?
我发现这个https://www.npmjs.com/package/generate-rsa-keypair用于生成密钥对。但它的节点?我可以将它实施到我的客户端吗?如果是如何?有没有其他方法可以实现这一点?
我有这个用C语言生成的密钥生成算法,它将在控制台中显示所有生成的密钥:
那么如何将写入控制台的所有密钥保存到文本文件中呢?
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
static const char alphabet[] = "abcdefghijklmnopqrs";
static const int alphabet_size = sizeof(alphabet) - 1;
void brute_impl(char * str, int index, int max_depth)
{
int i;
for (i = 0; i < alphabet_size; ++i)
{
str[index] = alphabet[i];
if (index == max_depth - 1)
{
printf("%s\n", str); // put check() here instead
}
else
{
brute_impl(str, index + 1, max_depth);
}
}
}
void brute_sequential(int max_len)
{
char * buf = malloc(max_len + 1);
int i; …Run Code Online (Sandbox Code Playgroud) 我最近在我的计算机科学课程中学习了公钥/私钥加密,以及它在数据加密/解密方面的工作原理。我们还介绍了如何将其用于数字签名。但是,我们没有详细介绍实际密钥是如何自己生成的。
我知道它以一个非常大的数字开头,然后通过某种密钥生成算法传递,该算法返回两个不同的密钥,其中一个是私有的,另一个是公共的。这些算法是已知的还是黑盒系统?一个用户是否总是拥有与他们相关联的同一对密钥,或者他们是否曾在任何时候发生变化?
这似乎是一个非常数学的问题,因为键是相互关联的,但不能从另一个推导出来。
encryption cryptography public-key-encryption key-generator private-key
cryptography ×2
rsa ×2
android ×1
angular ×1
c ×1
c# ×1
client ×1
encryption ×1
java ×1
java-ee ×1
javascript ×1
openssl ×1
pkcs#1 ×1
private-key ×1
random ×1
string ×1
textwriter ×1