请问C#有什么算法可以将数字加密,而且得到的结果还是数字

现在想要将一个6位数字加密得到一个纯数字的加密结果(长度没有要求),但是找到的算法加密后都不是纯数字,有没有哪位高手可以指点一下,最好是加密的数字长度可以不用固定是6位的,谢谢

纯数字那就可以随便了吧,比如说先做DES加密,加密后的结果应该是包括大小写字母,数字,两个符号/和=,你可以把每位字符的ascii转为3位十进制,比如DES加密后为AbcD,那结果就应该是065 098 099 068追问

大神,请问有没有其他算法是加密后结果的位数与加密前一样的算法呢?

追答

这种可能要自己写了,比如说简单的,原来是203479,那要加密就用999999减掉它,变成796520,或者用以前学程序常用的方法,比如说每位加4,超过10取余数,上面的203479加密后可能就是647813,这些都是可以的。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-23
你好!!

有个思路,你试试吧,对每一位数字都做独立的处理;
首先,有一个密匙串,比如:123123123,这个密匙串,可以任意定义
第2个回答  2013-10-23
你可以自己写一个啊,比如加密 12345,那你就想办法加密,比如:(12345+20)*2

解密的时候 就是 (加密后密码-20)/2追问

大侠,有没有比较高级的算法,不要很容易被破解的,而且要可逆的

追答

你得自己想想了 虽然我编程两年 但是我还真没高招
你可以参考一下 做法:
1 密码拆开保存
2 密码第一位后面 加上一堆数字, 比如密码是23,2+“11112123123”+3

追问

嗯,好的,谢谢

追答

转为二进制存储

第3个回答  推荐于2018-05-13
这样你可以自定义算法,如果光输出是数字的话,应该还是比较容易的。
1.给每个数乘2,结果输出按2位记,比如26加密后的0412。也就是2*2 = 04,6*2=12。你在解密的时候就将字符串按照两位进行拆分,然后再除以2,就会得到原来的密码,然后再合并。
2.给每个数取相对于10的余,比如1的余为9,2的余为8,0的余为0,这样你的愿密码为159,加密后为951。本回答被网友采纳
第4个回答  2013-10-23
md5加密应该可以吧!!!
相似回答