因此,我的问题是:我试图用用户选择的密码P (比如"4z327yU10p")在Java中实现一种加密消息M的方法(比如从1个字符加密到1000)。然后,我希望使用伪随机数生成器(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();
}
}发布于 2014-06-28 23:48:07
我将回答不同的问题(问不同的问题):
你可以把这看作是顾问的诅咒,我给了你你想要的,而不是你想要的。例如,您不需要(尚未标准化) SHA-3,但是您应该使用PBKDF。
https://stackoverflow.com/questions/24468415
复制相似问题