2、我们的目标彩虹表是一个用于加密散列函数逆运算的预先计算好的表, 为破解密码的散列值(或称哈希值、微缩图、摘要、指纹、哈希密文)而准备。一般主流的彩虹表都在100G以上。
假如我们有全网手机号的md5值,这样任意输入一个手机号的md5值,我们就可以得到它的明文。我们的目标仅仅是获得130开头号码的彩虹表。如果是全网的号码需要一定的存储空间。
3、本次实践可以获得哪些知识hdfs常用命令、spark压缩方式对比、spark生成测试数据的方式、spark的类型转换等。
4、代码讲解 range# range操作是个好功能,可以用来生成一些你想要的测试数据。 odf = spark.range(start=13000000001, end=1310000001, step=1, numPartitions=100)
spark就是spark会话,看了之前的文章应该能够明白它的来历。range类似python的range操作,生成一定范围内的连续数字。
需要注意的地方,如果是本地或者集群资源紧张:
1、这里不建议去遍历130开头所有号码(大约1亿个),建议跑2000个;
2、numPartitions也不建议用这么大,建议设置为4。
类型转换from pyspark.sql.functions import md5,col
odf = odf.withColumn("str_id", col("i


