关于加密算法加密后不可逆的疑惑
某些加密算法加密后的数据内容是不可逆的有哪位高手能帮帮小弟解决下疑惑,它是如何实现不可逆的?如果不可逆,当密码输入到目的地时的解密过程怎么完成?...
某些加密算法加密后的数据内容是不可逆的有哪位高手能帮帮小弟解决下疑惑,它是如何实现不可逆的?如果不可逆,当密码输入到目的地时的解密过程怎么完成?
展开
2个回答
展开全部
只要是不太差的加密,都是不可逆的。
加密的主要手段有混淆与信息丢失。
前者加入大量的可能性组合,后者则丢弃了原加密的某一些内容,来掩饰加密算法。
要知道的是不可逆加密,不是为了获取原文,而是为了验证。
举个最简单的不可逆加密:
对于加密前的字符串,可以选取一方法数字化,假如数字化为8位。
ABCDEFGH 是个8位数,然后通过加密算法,让它乘上N次方,取最后8位,再减掉M,就得出一个数字。
然后在由生成随机8个数字,按预设的方法这8位数里插入,即可生成一个16位的加密字符串。
将16位字符,按一定的码表(如果按a→z,也容易猜测,这里也是一层加密,即混序码表)进行替换成字母。
如第一位按字母表进行替换,第2位,按第一位开始接下去计算的位数字母替换,就能保证用到26个字母。
即可生成16位加密后的字母密码。
而且加密后的字符是不能还原回去的。
甚至可以是更多的数字,按照预设的方式混乱加密后的字符,进行干扰。
输入16位密码解密时,先去除预设的8位干扰码,逆向换算后,得出字符,进行比较即可。
此加密方法较为简单,只是一个思路。
加密的主要手段有混淆与信息丢失。
前者加入大量的可能性组合,后者则丢弃了原加密的某一些内容,来掩饰加密算法。
要知道的是不可逆加密,不是为了获取原文,而是为了验证。
举个最简单的不可逆加密:
对于加密前的字符串,可以选取一方法数字化,假如数字化为8位。
ABCDEFGH 是个8位数,然后通过加密算法,让它乘上N次方,取最后8位,再减掉M,就得出一个数字。
然后在由生成随机8个数字,按预设的方法这8位数里插入,即可生成一个16位的加密字符串。
将16位字符,按一定的码表(如果按a→z,也容易猜测,这里也是一层加密,即混序码表)进行替换成字母。
如第一位按字母表进行替换,第2位,按第一位开始接下去计算的位数字母替换,就能保证用到26个字母。
即可生成16位加密后的字母密码。
而且加密后的字符是不能还原回去的。
甚至可以是更多的数字,按照预设的方式混乱加密后的字符,进行干扰。
输入16位密码解密时,先去除预设的8位干扰码,逆向换算后,得出字符,进行比较即可。
此加密方法较为简单,只是一个思路。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询