日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python UDF 實現對csv批量md5加密操作

瀏覽:64日期:2022-06-30 16:22:57

工作上遇到需求,一批手機號要md5加密導出。為了保證數據安全,所以沒有采用網上工具來加密。

md5的加密算法是開源的且成熟的,很多語言都有對應包可以直接用,我寫了一個簡單的python來實現,另一位同事做了一個hiveUDF來實現,這里都給大家分享一下。

目標:

讀取csv文件,并且對其中的內容進行md5加密,32位加密,將加密后的密文存入另一個csv文件。

python實現:

(1)準備好要讀取的csv文件。單列,一行存一個手機號碼。

python UDF 實現對csv批量md5加密操作

(2)python代碼:

#encoding=utf8import hashlib #加密模塊import os#定義一個加密函數,32位md5加密def md5_encryption(str): m=hashlib.md5() m.update(str) return m.hexdigest()#準備要讀取的csv和要被寫入的csv,兩個文件要和此python放在同一個文件夾里readfilename=os.path.join(os.path.dirname(__file__),'testcsv.csv')writefilename=os.path.join(os.path.dirname(__file__),'writecsv.csv')print(’read:’,readfilename)print(’write:’,writefilename)with open(readfilename,’r’) as rf: #逐行寫入加密后的密文,strip函數用于剔除換行符n,不然是對“13000000n”加密而不是對“13000000”加密 with open(writefilename,’w’) as wf: for row in rf.readlines(): wf.write(md5_encryption(row.strip())) wf.write(’n’) #計算一下寫入的行數 with open(writefilename,’r’) as rwf: count=0 while 1: buffer=rwf.read(1024*8192) if not buffer: break count+=buffer.count(’n’) print(’line writed number:’,count)

(3)結果

python UDF 實現對csv批量md5加密操作

python UDF 實現對csv批量md5加密操作

hive UDF 實現:

(1)用java寫一個類用來實現加密,用maven打成jar包

import org.apache.hadoop.hive.ql.exec.UDF;import org.apache.commons.lang.StringUtils;import java.security.MessageDigest;public class MD5 extends UDF { public String evaluate (final String str) { if (StringUtils.isBlank(str)){ return ''; } String digest = null; StringBuffer buffer = new StringBuffer(); try { MessageDigest digester = MessageDigest.getInstance('md5'); byte[] digestArray = digester.digest(str.getBytes('UTF-8')); for (int i = 0; i < digestArray.length; i++) { buffer.append(String.format('%02x', digestArray[i])); } digest = buffer.toString(); } catch (Exception e) { e.printStackTrace(); } return digest; } public static void main (String[] args ) { MD5 md5 = new MD5(); System.out.println(md5.evaluate(' ')); }}

(2)配置一下pom.xml

<?xml version='1.0' encoding='UTF-8'?><project xmlns='http://maven.apache.org/POM/4.0.0' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd'> <modelVersion>4.0.0</modelVersion> <groupId>HiveUdf</groupId> <artifactId>HiveUdf</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId> <version>0.14.0</version> </dependency> <dependency> <groupId>org.apache.calcite</groupId> <artifactId>calcite-core</artifactId> <version>0.9.2-incubating</version> </dependency> <dependency> <groupId>org.apache.calcite</groupId> <artifactId>calcite-avatica</artifactId> <version>0.9.2-incubating</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.6.0</version> </dependency> </dependencies></project>

(3)hive中配置udf

導入jar包:

hive> add jar hdfs:/user/udf/HiveUdf-1.0-SNAPSHOT.jar;

新建一個函數:

hive> create temporary function MD5 as ’MD5’;

使用:

hive> select MD5(’12345’);OK827ccb0eea8a706c4c34a16891f84e7bTime taken: 0.139 seconds, Fetched: 1 row(s)hive> hive> select phone,MD5(phone) from mid_latong_20200414 limit 5;OK1300****436 856299f44928e90****181b0cc1758c41300****436 856299f44928e90****181b0cc1758c41300****689 771dfa9ef00f43c****4901a3f1d1fa01300****689 771dfa9ef00f43c****4901a3f1d1fa01300****689 771dfa9ef00f43c****4901a3f1d1fa0Time taken: 0.099 seconds, Fetched: 5 row(s)

以上就是python和hiveUDF兩種實現md5加密的方法啦!

補充:python的MD5加密的一點坑

曾經在做某ctf題目時,被這點坑,坑了好久。

廢話不多說,進入正題。

python MD5加密方法

import hashlib //導入hash庫函數text = 'bolg.csdn.net' //要加密的文本md5_object = hashlib.md5() //創建一個MD5對象md5_object.update(text) //添加去要加密的文本print md5_object.hexdigest() //輸出加密后的MD5值坑在哪?

當你在進行第一次加密時,程序正常輸出MD5值,但是在同一程序中進行第二次明文加密時,如果你的代碼是這樣寫,就不會得到正確的MD5值。

python UDF 實現對csv批量md5加密操作

python UDF 實現對csv批量md5加密操作

通過對第一張圖片和第二張圖片的比較,發現如果按照第一張圖片的代碼進行連續加密時,它實質上是在加密每次明文的疊加。

即第一次加密:csdn

第二次加密:csdnblog

正確做法應該是:

python UDF 實現對csv批量md5加密操作

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
蜜桃视频第一区免费观看| 91成人精品视频| 国产精品激情| 国产成人免费精品| 欧美手机在线| 好吊视频一区二区三区四区| 视频精品一区二区| 国产欧美88| 色偷偷色偷偷色偷偷在线视频| 91精品蜜臀一区二区三区在线| 亚洲欧美日韩一区在线观看| 91麻豆精品| 成人福利一区 | 亚洲精品美女91| 国产精品二区影院| 中文字幕系列一区| 免费观看久久久4p| 欧美a一区二区| 欧美日韩免费观看一区=区三区| 奇米狠狠一区二区三区| 吉吉日韩欧美| 丝袜美腿亚洲色图| 精品视频在线你懂得| 亚洲高清二区| 日韩二区在线观看| 999视频精品| 国产日韩欧美在线播放不卡| 久久亚洲在线| 欧美成人精品一级| 蜜桃视频一区二区三区在线观看| 91亚洲国产高清| 亚洲青青久久| 婷婷激情一区| 国产日韩欧美三区| 国产亚洲毛片| 成人午夜在线| 一区二区三区午夜视频| 国内不卡的一区二区三区中文字幕| 制服诱惑一区二区| 国产成人精品一区二区三区免费| 久久亚洲风情| 日韩黄色大片网站| 国产亚洲精aa在线看| 欧美日韩激情在线一区二区三区| 免费在线日韩av| 蜜臀av一区二区在线免费观看 | 欧美日韩伊人| 亚洲欧洲一区| 日韩在线欧美| 欧美日韩一区二区三区不卡视频 | 欧美aⅴ一区二区三区视频| 99在线精品免费视频九九视| 国产成人精品一区二区三区视频 | 都市激情国产精品| 日韩精品导航| 国产高清一区| 国产粉嫩在线观看| 日韩美女精品| 久久高清一区| 久久精品av| 久久精品女人| 国产精品一区二区中文字幕| 蜜臀av性久久久久蜜臀aⅴ流畅| 99国产精品免费视频观看| 久久尤物视频| 国产免费播放一区二区| 午夜精品影视国产一区在线麻豆| 欧美精品一区二区久久| 日韩伦理一区| 97精品国产| 国产一区三区在线播放| 国产探花一区二区| 亚洲精品一二| av不卡在线看| 在线精品小视频| 成人免费电影网址| 成人美女视频| 日韩精品永久网址| 成人小电影网站| 日本一区二区高清不卡| 免费一区二区三区在线视频| 日本成人一区二区| 蜜桃传媒麻豆第一区在线观看 | 视频一区日韩精品| 蜜臀av国产精品久久久久| 亚洲一区激情| 五月婷婷六月综合| 2023国产精品久久久精品双| 2023国产精品久久久精品双| 精品在线91| 亚洲国产一区二区三区在线播放 | 午夜在线播放视频欧美| 欧美天堂亚洲电影院在线观看| 欧美日韩国产在线观看网站| 婷婷综合在线| 国产精品毛片在线| 国产精品日韩欧美一区| 国产精品日本欧美一区二区三区| 午夜国产一区二区| 国产精品美女久久久| 美女少妇全过程你懂的久久| 图片区亚洲欧美小说区| 亚洲免费中文| 中文字幕成人| 日本视频在线一区| 国产欧美啪啪| 国产一区二区精品福利地址| www.com.cn成人| 国产99精品| 亚洲综合二区| 国产午夜久久av| 久久99国产精品视频| 电影91久久久| 99国产精品免费视频观看| 欧美天堂亚洲电影院在线观看| 欧美日韩国产高清| 亚洲日本免费电影| 国产精品对白久久久久粗| 国产一区二区三区四区五区| 99精品视频精品精品视频| 伊人久久亚洲美女图片| 亚洲人成高清| 精品亚洲a∨一区二区三区18| 日韩福利一区| 亚洲欧美日韩国产一区| 久久国产精品色av免费看| 精品一区二区三区的国产在线观看| 日韩欧美字幕| 视频一区视频二区在线观看| 亚洲色图网站| 亚洲一级网站| 日韩一级欧洲| 亚洲欧美视频| 97久久中文字幕| 久久亚洲黄色| 99精品国产一区二区三区| 欧美特黄一区| 日本成人在线不卡视频| 三级一区在线视频先锋| 黄色日韩在线| 亚洲最新av| 免费观看亚洲天堂| 在线日韩欧美| 亚洲精品在线国产| 成人免费一区| 免费不卡中文字幕在线| 日韩成人av影视| 日韩综合在线| 国产亚洲永久域名| 国产精品免费不| 99久久精品费精品国产| 亚洲三级观看| 精品视频免费| 蜜臀久久久久久久| 高清日韩欧美| 日韩综合一区二区| 日韩av福利| 69堂精品视频在线播放| 日韩成人综合| 日韩在线观看中文字幕| 麻豆国产在线| 久久亚洲国产| 国产精品一区二区三区www| 在线精品亚洲欧美日韩国产| 亚洲欧美日本国产| 亚洲播播91| 国产日韩亚洲| 日韩亚洲精品在线| 国产成人久久精品一区二区三区| 美女久久一区| 日韩在线免费| 国产日韩一区二区三区在线| 欧美aa国产视频| 久久精品国产亚洲aⅴ| 视频一区中文字幕| 精品入口麻豆88视频| 亚洲午夜久久| 激情久久婷婷| 久久久久伊人| 亚洲免费福利一区| 婷婷成人综合| 福利精品在线| 国产精品日本一区二区不卡视频| 欧美日韩国产一区精品一区| 欧美好骚综合网| 国产精品视频首页| 中文字幕av一区二区三区四区| 99免费精品| 精品久久久中文字幕| 日本不卡不码高清免费观看| 在线日韩一区| 国产一区二区亚洲| 国产女人18毛片水真多18精品| 午夜亚洲福利在线老司机| 国产v综合v| 色婷婷亚洲mv天堂mv在影片| 国产精品欧美日韩一区| 亚洲精品伊人| 老司机精品久久| 伊人影院久久|