编码
编码就是对指定输入的任何转换,且都可以按照一定规则进行反转。x->y完全也可以由y->x
加密
加密也是一种特殊的编码,同时提供输入值和密钥,产生的密文拿密钥可以进行解密;
①:(x,key1)->y;(y,key2)->x;其中如果key1=key2,则称之为对称加密;
②:(x,key1)->y;(y,key2)->x;其中如果key1!=key2,则称之为非对称加密,(k1,k2)称为密钥对,用于加密的即key1称为公钥;用于解密的key2称为私钥;
哈希化
哈希化也是特殊的编码,只不过它的函数是单向的,即x->y,不能从y->x;
但是尽管如此,当x->y也应该总有方法能检查y是否确实对应x;(x,y)->boolean;
也可以在哈希加密时给定一个随机值,(x,salt)->y;此随机值称为“盐”,可以增加y逆向到x的难度。