小编Maa*_*wes的帖子

CPU周期和内存中线程的粗略"成本"是多少?

在java中使用线程的粗略"成本"是多少?是拇指/经验值的任何规则,一个线程的创建需要多少内存?是否粗略估计创建线程需要多少CPU周期?

上下文:在Web应用程序的servlet中,我希望并行化内容创建,因为内容的一部分是基于文件的,基于数据库的以及基于Web服务的.但这意味着对于每个"http-request-thread"(我的serlvet容器),我将有两到四个额外的线程.请注意,我将使用ExecutorServiceJava 6中的.

当我在Web服务器上使用数百到数千个Java线程时,我应该期待什么?

java multithreading

12
推荐指数
1
解决办法
4406
查看次数

如何使用NFC在Android卡上存储Android应用程序数据?

我正在开发NFC应用程序.我的应用程序将处理秘密信息,我想将这些数据存储在SIM卡上.是否有可能,如果有可能,我该怎么做?我的手机的Android版本是Android 2.3.5.

android smartcard nfc sim-card

12
推荐指数
1
解决办法
7872
查看次数

使用JAVA中的PKCS#7对数据进行签名

我想.exe使用PKCS#7 签署一个文本文件(可能是将来的文件或其他文件)并使用Java验证签名.

  1. 我需要知道什么?
  2. 我在哪里可以找到API(.jar和文档)?
  3. 为了签署数据和验证数据,我需要遵循哪些步骤?

如果可能,请提供给我的代码段.

java cryptography pkcs#7

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

javax.crypto.IllegalBlockSizeException:解密时最后一个块不完整 - 解密加密的AES字符串

我试图解密"~9?8?m???=?T?G"从后端服务器收到的字符串,该服务器使用OpenSSL使用AES-256-CBC加密字符串.有代码块:

public static String decryptText(String textToDecrypt) {
    try {

        byte[] base64TextToDecrypt = Base64.encodeBase64(textToDecrypt.getBytes("UTF-8"));

        byte[] guid = "fjakdsjkld;asfj".getBytes("UTF-8");

        byte[] iv = new byte[16];
        System.arraycopy(guid, 0, iv, 0, guid.length);
        IvParameterSpec ips = new IvParameterSpec(iv);

        byte[] secret = DECRYPTION_SECRET_HASH.getBytes("UTF-8");
        SecretKeySpec secretKey = new SecretKeySpec(secret, "AES");

        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
        // decryption pass
        cipher.init(Cipher.DECRYPT_MODE, secretKey, ips);
        byte[] converted = cipher.doFinal(base64TextToDecrypt);
        System.out.println(new String(converted));

    } catch (Exception e) {
        e.printStackTrace();
        Log.e(TAG, "Decipher error for " + textToDecrypt, e);
    }
    return "";
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我到达时

byte[] …
Run Code Online (Sandbox Code Playgroud)

java encryption encoding aes character-encoding

12
推荐指数
2
解决办法
3万
查看次数

NDK应用程序签名检查

我在应用程序中有一些安全密钥.我想要安全地存储它.我喜欢将它存储在本机共享库中(可能是从某些代码生成的).之后,我希望它通过一种方法返回,该方法将检查原始APK的签名.所以没有人可以使用此文件,除了可信应用程序.我知道,ndk库也可以反编译,但是对本机代码进行逆向工程甚至比java .class文件更难.

题:

  1. 有没有办法从本机代码(c/c ++)中调用原始apk的签名?
  2. 如何确保从受信任的应用程序调用库?

java security android digital-signature android-ndk

12
推荐指数
2
解决办法
4012
查看次数

Python是一种弱类型语言,因为变量可以切换类型吗?

我理解它的方式,PHP中允许以下内容,因为它是一种弱类型的语言.

$var = 'Hello';
$var = 5;
Run Code Online (Sandbox Code Playgroud)

我刚刚安装了一个Windows版本的Python 2.6,我希望它不要让我像这样更改类型,但上面代码的Python等效工作就像在PHP中一样!

>>> var = "Hello"
>>> type(var)
<type 'str'>
>>> var = 5
>>> type(var)
<type 'int'>
Run Code Online (Sandbox Code Playgroud)

我对弱/强打字的理解有缺陷吗?

python weak-typing strong-typing

11
推荐指数
3
解决办法
2万
查看次数

Arc4random模数偏差

根据这个文档,

arc4random_uniform()建议使用结构,arc4random() % upper_bound因为当上限不是2的幂时,它避免了"模偏差".

偏见有多糟糕?例如,如果我生成上限为6的随机数,使用和之间arc4random有什么区别?%arc4random_uniform()

random probability objective-c arc4random

11
推荐指数
1
解决办法
1836
查看次数

在Java中为AES生成随机IV

我正在为Android中的PBE实现和AES加密引擎,我发现了两种方法来实现IV的创建,我想知道哪一个更好,更安全得到IvParameterSpec:

方法#1:

SecureRandom randomSecureRandom = SecureRandom.getInstance("SHA1PRNG");
byte[] iv = new byte[cipher.getBlockSize()];
randomSecureRandom.nextBytes(iv);

IvParameterSpec ivParams = new IvParameterSpec(iv);
Run Code Online (Sandbox Code Playgroud)

方法#2:

AlgorithmParameters params = cipher.getParameters();
byte[] iv2 = params.getParameterSpec(IvParameterSpec.class).getIV();

ivParams = new IvParameterSpec(iv2);
Run Code Online (Sandbox Code Playgroud)

java cryptography aes initialization-vector

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

Haskell中的数字说明

我想解释清楚Num,Real,Integral,Integer,Int,Ratio,Rational,Double,Float.

haskell types numbers typeclass

11
推荐指数
2
解决办法
3066
查看次数

寻求AES-CTR加密输入

由于点亮率模式下的AES非常适合随机访问,因此我假设我使用CipherOutputStreamAES-CTR模式创建了数据源.下面的库 - 不是我的 - 使用RandomAccessFile允许在文件中寻找特定字节偏移的库.

我最初的想法是使用CipherInputStream带有Cipher正确参数的初始化,但是用于此的API不会寻求并声明不支持markreset.

我是否错过了可以为我做的这一部分API,我应该查看CTR的IV /块计数器的配置并使用自定义输入流(听起来像是针对self我的霰弹枪)重新创建它采取我错过的其他方法?

java encryption aes random-access

10
推荐指数
1
解决办法
2000
查看次数