所以我的问题如下:我正在尝试用Java实现一种方法来加密消息M(比如从1个字符开始,比方说1000个)用密码P,由用户选择(比方说“4z327yU10p”) )。然后,我想使用伪随机数生成器(PRNG)隐藏图像中的消息以选择像素。我的种子是密码。
这是我的方法:
对于(1):这可能是短密码吗?
对于(2):AES可以用于小消息吗?
对于(3):如何在图像的间隔中包含随机数? (0,...,480000)因为我的算法给了我一个int
?
这是代码:
public void initSeed(String password){ //pour initier la seed avec le password
Message message = new Message();
message.initMessageASCII(password);
List <Integer> temp = message.getMsg();
byte[] vect = new byte[temp.size()];
for (int i=0; i< temp.size(); i++){
vect[i] = temp.get(i).byteValue();
}
this.seed = vect;
}
public void init() { //pour initier le remplissage du vecteur randList
SecureRandom random;
try {
random = SecureRandom.getInstance("SHA1PRNG"); //SHA1PRNG est un algorithme très efficace
random.setSeed(seed);
random.nextBytes(randList); //fonction pour créer les bytes aléatoires et les écrire dans "bytes"
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
我会回答不同的问题(询问单独的问题):
你可以看到这是一个顾问诅咒,但我给了你所要求的而不是你需要的东西。例如,您不需要(尚未标准化)SHA-3,但您应该使用PBKDF。