问题描述
最近,接了一个加密的任务需求是用一个字符串,生成一对固定的rsa密钥如何字符串变更,生成的rsa密钥变更,如果字符串不变,生成的rsa密钥和以前的字符生成的rsa密钥一样例:字符串x="1111",生成密钥aaaaaaaaaaa,字符串x="2222",生成密钥bbbbbbbbbbbbbbbb,再使用字符串x="1111"生成密钥时,生成的密钥还是aaaaaaaaaaa,各位大圣们,这个如何做呀!最好给个算法。跪求。小弟分数不多,只能给这些了,希望各位不吝赐教
解决方案
解决方案二:
自己顶看了Cryptico.js,发现了上面说的机能,但是想要改成c#的形式,估计会很费劲。。。。。。
解决方案三:
你的需求是不是根据一个字符串,自己制定一个规则生成密钥啊?可以用位算法或者其他加密方法什么的
解决方案四:
我能说你直接md5就可以了(虽然说md5也有可能碰撞,不过嘛这个几率----)
解决方案五:
ps:你也可以百度“单向散列算法”md5只是单向散列里面最简单,最常用滴一种
解决方案六:
MD5,SHA都满足你的生成密钥要求啊……还是说我们理解有误?
解决方案七:
客户想把加密后的数据存到数据库里,然后通过一个固定的字符串,在重新生成私钥,把数据库里面的数据取到本地,在用私钥进行解密,他们看了Cryptico.js后,觉的好,想用rsa加密解密。Cryptico.js的简单技能说明//生成秘钥字符串varPassPhrase="Hello"//公钥长度varBits=512;//生成RSA密钥(通过位数和固定字符串生成秘钥)varRSAkey=cryptico.generateRSAKey(PassPhrase,Bits);//RSA公钥:varPublicKeyString=cryptico.publicKeyString(RSAkey);varPlainText="给力技术";//使用公钥加密varEncryptionResult=cryptico.encrypt(PlainText,PublicKeyString);varencrytext=EncryptionResult.cipher;//密文//使用私钥解密varDecryptionResult=cryptico.decrypt(encrytext,RSAkey);vardecrypttext=DecryptionResult.plaintext;
解决方案八:
引用2楼FoxDave的回复:
你的需求是不是根据一个字符串,自己制定一个规则生成密钥啊?可以用位算法或者其他加密方法什么的
客户想把加密后的数据存到数据库里,然后通过一个固定的字符串,在重新生成私钥,把数据库里面的数据取到本地,在用私钥进行解密,他们看了Cryptico.js后,觉的好,想用rsa加密解密。Cryptico.js的简单技能说明//生成秘钥字符串varPassPhrase="Hello"//公钥长度varBits=512;//生成RSA密钥(通过位数和固定字符串生成秘钥)varRSAkey=cryptico.generateRSAKey(PassPhrase,Bits);//RSA公钥:varPublicKeyString=cryptico.publicKeyString(RSAkey);varPlainText="给力技术";//使用公钥加密varEncryptionResult=cryptico.encrypt(PlainText,PublicKeyString);varencrytext=EncryptionResult.cipher;//密文//使用私钥解密varDecryptionResult=cryptico.decrypt(encrytext,RSAkey);vardecrypttext=DecryptionResult.plaintext;
解决方案九:
引用2楼FoxDave的回复:
你的需求是不是根据一个字符串,自己制定一个规则生成密钥啊?可以用位算法或者其他加密方法什么的
亲,请看看我的最新回复为什么要用一个字符串去生成秘钥呢?原因是比如A的字符串是“FIRST”,他生成秘钥加密数据保存在数据库里,B的字符串是“Second”,当他获取A的加密数据时,是不能解密的。