小编Dun*_*nes的帖子

使用 OpenSSL 以编程方式在 X509 证书中输入数据

我正在尝试创建 ECDSA 证书,但我想以编程方式生成它。我正在使用 openssl 和 C 编程。

当我从命令行生成证书时,系统会要求我回答多个问题以在证书中使用。我想知道如何定义这个问题,以编程方式输入这些数据。

这是我在网上找到的,但我不明白如何插入更多信息,这确实有效:

X509 *x; 
x=X509_new(); 
X509_NAME *name = X509_get_subject_name(x); 
X509_set_version(x, 2); 
ASN1_INTEGER_set(X509_get_serialNumber(x), 3); 
X509_gmtime_adj(X509_get_notBefore(x), 0); 
X509_gmtime_adj(X509_get_notAfter(x), (long) 60 * 60 * 24 * 365); 
X509_set_pubkey(x, pk); 
X509_NAME_add_entry_by_txt(name, "C", MBSTRING_ASC, (const unsigned char*) "PT", -1, -1, 0); 
Run Code Online (Sandbox Code Playgroud)

我意识到这个X509_NAME_add_entry_by_txt函数是国家的答案,但是这个“C”是什么意思呢?这个函数是怎么组成的呢?我可以在“C”位置和“PT”位置放置任何我想要的东西吗?

c openssl cryptography x509

4
推荐指数
1
解决办法
3333
查看次数

JAXB unmashalling cdata

我不需要marshaller,我已经有了XML文件.所以我按照本指南来了解如何解组CDATA中的内容.但是,我发现,如果我跳过主要的编组部分并且只做解组部分,它似乎不起作用.所以我的主要内容仅限于以下内容

Book book2 = JAXBXMLHandler.unmarshal(new File("book.xml"));
System.out.println(book2);  //<-- return null. 
Run Code Online (Sandbox Code Playgroud)

我期待看到CDATA中的任何内容.我确信我错过了一些东西,但不确定是什么.

java jaxb cdata unmarshalling

4
推荐指数
1
解决办法
4502
查看次数

如何使用Bouncy Castle生成对称密钥?

如何使用Bouncy Castle生成对称密钥?无论PrivateKeyFactoryPublicKeyFactory似乎与AsymmetricKeyParameter.

我不想知道任何JCA/JCE API - 相反,我只对Bouncy Castle特定的API感兴趣.

可以(应该)我只生成一个随机字节?

java cryptography bouncycastle key aes

4
推荐指数
1
解决办法
7022
查看次数

如何在Asp.net中回发后维护标签的价值?

在asp.net页面中,我需要知道如何通过单击html按钮来保持特定标签赋值的值.回发完成后.

详细代码:

 <table>
        <tr>
            <td><asp:Label ID="lbl1" runat="server" ClientIDMode="Static">Before Changing</asp:Label></td>

            <td><asp:Label id="lbl2" runat="server" ClientIDMode="Static"></asp:Label></td>

            <td><asp:TextBox ID="txtbox" runat="server"></asp:TextBox></td>

</tr>

        <tr>
            <td><asp:Button ID="btnasp" runat="server"  Text="ASP Button" Height="50px" Width="150px" OnClick="btnasp_Click"/></td>

            <td><input type="button" id="btnhtml" value="HTML Button" onclick="showlabel()"  style="height:50px; width:150px"/></td>
        </tr>

    </table>
Run Code Online (Sandbox Code Playgroud)

脚本

 <script type="text/javascript">
    function showlabel() {
        $('#lbl1').text("After Changing");

        }
</script>
Run Code Online (Sandbox Code Playgroud)

cs代码

   protected void btnasp_Click(object sender, EventArgs e)
    {

        txtbox.Text = lbl1.Text;
    }
Run Code Online (Sandbox Code Playgroud)

产量

在此输入图像描述

如果我单击HTML按钮,更改前的标签文本将更改为更改后.然后在更改值显示在文本框中后单击ASP按钮.

这是在不在隐藏字段中添加值而不使用服务器控件到html按钮的情况下完成的.这怎么可能?

c# asp.net postback

4
推荐指数
1
解决办法
1万
查看次数

确定字符串是否为回文的最快方法

如果字符串是回文(字符串可以是带有大写或小写字母,空格等的命题),我需要一种能够以最快的执行时间进行验证的算法.所有这些都在Java中.我有一个样本:

bool isPalindrome(string s) {
    int n = s.length();
    s = s.toLowerCase();
    for (int i = 0; i < (n / 2) + 1; ++i) {
        if (s.charAt(i) != s.charAt(n - i - 1)) {
            return false;
        }
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

我使用.toLowerCase()函数将字符串转换为小写字母,但我不知道它对执行时间有多大影响.

而且我不知道如何以有效的方式解决标点符号和单词之间的空格问题.

java performance palindrome

4
推荐指数
1
解决办法
9833
查看次数

如何限制访问Arraylist并禁止更改?

我如何限制Arraylist的访问(检索/插入/更新/删除)并禁止更改其值?

我在接受采访时遇到过这个问题.

java arraylist immutability

4
推荐指数
1
解决办法
89
查看次数

编辑代码示例以指定 DES 密钥值

我有一个使用 DES 的工作代码示例(见下文),但我想指定要使用的关键数据。如何编辑代码示例来执行此操作?

import java.security.InvalidKeyException;  
import java.security.NoSuchAlgorithmException;    
import javax.crypto.BadPaddingException;  
import javax.crypto.Cipher;  
import javax.crypto.IllegalBlockSizeException;  
import javax.crypto.KeyGenerator;  
import javax.crypto.NoSuchPaddingException;  
import javax.crypto.SecretKey;

public class DESEncryptionDecryption {

private static Cipher encryptCipher;  
private static Cipher decryptCipher; 
public static void main(String[] args) {  
try {
KeyGenerator keygenerator = KeyGenerator.getInstance("DES");  
SecretKey secretKey = keygenerator.generateKey();  

encryptCipher = Cipher.getInstance("DES/ECB/PKCS5Padding");  
encryptCipher.init(Cipher.ENCRYPT_MODE, secretKey);  
byte[] encryptedData = encryptData("Classified Information!");  

decryptCipher = Cipher.getInstance("DES/ECB/PKCS5Padding");  
decryptCipher.init(Cipher.DECRYPT_MODE, secretKey);  
decryptData(encryptedData);
}}}
Run Code Online (Sandbox Code Playgroud)

java security encryption des key

4
推荐指数
1
解决办法
7628
查看次数

在没有编译错误的情况下更改对方法的访问

有人可以演示一个简单程序的示例,其中在工作程序中将一个方法的访问权限从私有更改为公共将不会导致编译错误,但只会导致程序行为不同吗?

此外,何时添加新的私有方法会导致编译错误或导致程序行为不同?

java private public access-modifiers

4
推荐指数
1
解决办法
60
查看次数

你可以重用删除的 Git 分支名称吗?

如果我创建了一个名为“foobar”的 Git 分支,在其中做一些工作,将它合并回我的开发分支,然后删除 foobar 分支,我可以在以后的某个时间创建另一个具有相同名称“foobar”的分支吗?混淆 Git?

git branch

4
推荐指数
2
解决办法
1481
查看次数

在forEach循环中填充list之前,我的异步调用正在返回

我有一个例程,它从设备中获取文件名列表,然后读取文件以构建列表.但是,调用例程始终返回零项.我打印文件名,所以我知道它们存在,但是,在我读取文件之前,似乎异步正在返回.我在进行HTTP调用时使用了类似的代码.但是,这里的某些事情导致例程返回列表,即使它尚未完成.也许,我有可能在错误的时间召唤它?我在这里调用retrieveItems:

@override
  void initState() {
    super.initState();
    retrieveItems();
  }
Run Code Online (Sandbox Code Playgroud)

最终我会有一个刷新按钮,但是现在我只想在列表中填充文件中的数据......

--------------------

被呼叫者

Future<List<String>> readHeaderData() async {
  List<String> l = new List();
  List<String> files = await readHeaders(); // Gets filenames
  files.forEach((filename) async {
    final file = await File(filename);
    String contents = await file.readAsString();
    User usr = User.fromJson(json.decode(contents));
    String name = usr.NameLast + ", " + usr.NameFirst;
    print(name);
    l.add(name);
  }
  return l;
Run Code Online (Sandbox Code Playgroud)

呼叫者

void retrieveItems() async {
  LocalStorage storage = new LocalStorage();
  await storage.readHeaderData().then((item) {
      try {
        if ((item != null ) &&(item.length …
Run Code Online (Sandbox Code Playgroud)

file list async-await dart flutter

4
推荐指数
3
解决办法
2049
查看次数