数据加密与解密的简单原理
2014-11-06 14:22
447 查看
当下网络上频频报道某网站用户密码泄漏,用户数据被黑客下载等等新闻。对用户的敏感数据、私隐没有任何的安全可言。做为开发者我们应该对用户的敏感信息负责,用户的隐私需要进行加密之后再存储,读取需要解密才能正常显示,以增加敏感信息泄漏的难度。不知道加密算法及盐密码,就算数据库被下载也可保护用户数据的相对安全不被别人获取。我设计的加密和解密的算法如下,仅为大家提供一个参考。读者可以自行改进设计出属于自己的加解密算法,以保护用户的数据安全。
实现的原理其实很简单,就是使用掩码对数据的asscii码进行运算生成新的字符串。盐密码可以全站统一配置,也可针对每一条数据另外存放不同的盐值以增加解密的难度。
<?php class sys { /** * 使用盐对内容加密 * @param string $context 需要加密的数据 * @param string $mask 密码盐 * @return string */ public static function security_encode( $context, $mask ) { $new_mask_word = ''; $new_word = ''; $word_length = strlen( $context ); $mask_length = strlen( $mask ); $mask = str_split( $mask ); $word = str_split( $context ); $loop = 0; for( $i=0; $i<$word_length; $i++ ) { if( $loop == $mask_length ){ $loop = 0; } $new_mask_word .= $mask[$loop]; $loop++; } for( $i=0; $i<$word_length; $i++) { $new_word .= chr( ord($word[$i])+ord($new_mask_word[$i]) ); } return $new_word; } /** * 使用盐对内容解密 * @param string $context 需要解密的数据 * @param string $mask 密码盐 * @return string */ public static function security_decode( $context, $mask ) { $new_mask_word = ''; $new_word = ''; $word_length = strlen( $context ); $mask_length = strlen( $mask ); $mask = str_split( $mask ); $word = str_split( $context ); $loop = 0; for( $i=0; $i<$word_length; $i++ ) { if( $loop == $mask_length ){ $loop = 0; } $new_mask_word .= $mask[$loop]; $loop++; } for( $i=0; $i<$word_length; $i++) { $new_word .= chr( ord($word[$i])-ord($new_mask_word[$i]) ); } return $new_word; } }
实现的原理其实很简单,就是使用掩码对数据的asscii码进行运算生成新的字符串。盐密码可以全站统一配置,也可针对每一条数据另外存放不同的盐值以增加解密的难度。
相关文章推荐
- https原理:证书传递、验证和数据加密、解密过程解析
- https原理:证书传递、验证和数据加密、解密过程解析
- https原理:证书传递、验证和数据加密、解密过程解析
- https原理:证书传递、验证和数据加密、解密过程解析
- https原理:证书传递、验证和数据加密、解密过程解析
- https原理:证书传递、验证和数据加密、解密过程解析
- HTTPS原理:证书传递、验证和数据加密、解密过程解析
- https原理:证书传递、验证和数据加密、解密过程解析
- https原理:证书传递、验证和数据加密、解密过程解析 (转)
- https原理:证书传递、验证和数据加密、解密过程解析
- https原理:证书传递、验证和数据加密、解密过程解析
- https原理:证书传递、验证和数据加密、解密过程解析
- https原理:证书传递、验证和数据加密、解密过程解析
- https原理:证书传递、验证和数据加密、解密过程解析
- https原理:证书传递、验证和数据加密、解密过程解析
- https原理:证书传递、验证和数据加密、解密过程解析
- https原理:证书传递、验证和数据加密、解密过程解析
- https原理:证书传递、验证和数据加密、解密过程解析
- https原理:证书传递、验证和数据加密、解密过程解析
- https原理:证书传递、验证和数据加密、解密过程解析