R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大。 R语言作为统计学一门语言,一直在小众领域闪耀着光芒。直到大数据的爆发,R语言变成了一门炙手可热的数据分析的利器。随着越来越多的工程背景的人的加入,R语言的社区在迅速扩大成长。现在已不仅仅是统计领域,教育,银行,电商,互联网….都在使用R语言。 要成为有理想的极客,我们不能停留在语法上,要掌握牢固的数学,概率,统计知识,同时还要有创新精神,把R语言发挥到各个领域。让我们一起动起来吧,开始R的极客理想。 关于作者: 张丹,分析师/程序员/Quant: R,Java,Nodejs blog: http://blog.fens.me email: bsspirit@gmail.com 转载请注明出处: http://blog.fens.me/r-crypto-hash-digest/ 前言 哈希算法,被用于对任意一组输入数据进行计算,得到一个固定长度的输出摘要,为了验证原始数据是否被篡改。哈希算法如md5,sha1,sha2等算法普遍被应用于各种数据传输和数据交互的场景。 digest包,提供了R语言在哈希计算上的能力,好用,方便,高效。 目录 digest包介绍 md5哈希摘要 sha1哈希摘要 sha256哈希摘要 其他算法哈希摘要 场景1:基于哈希的消息身份验证码hmac 场景2:文件验证checksum 1. digest包介绍 在digest包,包括了多种的hash加密算法的计算函数,包括了md5, sha1, crc32, sha256, sha512, xxhash32, xxhash64, murmur32, spookyhash, blake3,我们可以通过digest()函数直接调用。 安装digest非常简单,digest包没有底层依赖,一条命令就搞定了。 # 安装digest > install.pacakges(digest) # 加载digest > library(digest) # 初始化的字符值 > value<-"abc=!@#$%^&*()_+abc试试中文" 2. md5哈希摘要 MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由MD4、MD3、MD2改进而来,主要增强算法复杂度和不可逆性。MD5算法因其普遍、稳定、快速的特点,仍广泛应用于普通数据的加密保护领域。 MD5算法的原理可简要的叙述为:MD5码以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值 直接使用digest函数,计算md5。我们可以考虑是否需要先对原数据做序列化(serialize),默认是支持序列化的。关于序列化介绍见文章,请参见 …
Read more →