『壹』 linux c/c++有base64加密函數嗎
沒有現成的,需要自己編寫。
『貳』 Linux C base64 編解碼一般用在什麼地方(走過路過,也瞧過!)
1、Base64編碼可用於在HTTP環境下傳遞較長的標識信息。
2、在加解密的過程中也會用版到Base64編解碼。比如權Openssl中用EVP進行封裝的的函數,EVP_EncodeInit、EVP_EncodeUpdate、EVP_EncodeFinal等
3、迅雷的下載地址也是通過base64編碼生成的。
希望對您有幫助。
『叄』 linux 大批量解base64 文本,最好是shell 腳本
cat文本
awk找到第四列
管道引入 base64 -d 解碼內容
cat test.csv | awk 『{print$4}』 | base64 -d
就可以了
注意引號是英文的
『肆』 java windows linux BASE64Encoder 加密 漢字
原因很簡單:你在window下默認編碼為GBK或者GB2312,而在linux下默認可能是UTF-8,所以 你要加密的 字元串 處在不同編碼情況下 加密之後必然不同。你應該忘了考慮同一個字元串 處在不同編碼環境下,內部編碼位數是不同的,加密也就當然不同了
『伍』 請教如何在Shell中實現base64解碼
使用命令行程序 base64,示例:
printf"abcdef"|base64
YWJjZGVm
printf"YWJjZGVm"|base64-d
abcdef
『陸』 linux怎麼獲取使用md5處理前的密碼
這里以字元串123456為例子,它的md5密文值為:57f20f883e
這里以1.txt為需要被加密的文件。
一、 用oppnssl md5 加密字元串和文件的方法。
1. oppnssl md5 加密字元串的方法
a.手動輸入命令及過程如下:
#openssl //在終端中輸入openssl後回車。
OpenSSL> md5 //輸入md5後回車
123456 //接著輸入123456,不要輸入回車。然後按3次ctrl+d。
//123456後面的就是密文了
解釋:為何在輸入123456後不回車呢?
是因為openssl默認會把回車符當做要加密的字元串中的一個字元,所以得到的結果不同。如果你輸入123456後回車,在按2次ctrl+d。得到的結果是:
OpenSSL> md5
123456
//因為openssl不忽略回車符導致的
b.或者直接用管道命令
# echo -n 123456 | openssl md5 //必須要有-n參數,否則就不是這個結果了。
解釋:為何要加-n這個參數?
-n就表示不輸入回車符,這樣才能得到正確的結果。如果你不加-n,那麼結果和前面說的一樣為:
//因為openssl不忽略回車符導致的
2.用openssl加密文件。
#openssl md 5 -in 1.txt
##################################################3
Openssl其他相關加密的命令參數:引自:實用命令:利用openssl進行BASE64編碼解碼、md5/sha1摘要、AES/DES3加密解密 收藏
一. 利用openssl命令進行BASE64編碼解碼(base64 encode/decode)
1. BASE64編碼命令
對字元串『abc』進行base64編碼:
# echo abc | openssl base64
YWJjCg== (編碼結果)
如果對一個文件進行base64編碼(文件名t.txt):
# openssl base64 -in t.txt
2. BASE64解碼命令
求base64後的字元串『YWJjCg==』的原文:
# echo YWJjCg== | openssl base64 -d
abc (解碼結果)
如果對一個文件進行base64解碼(文件名t.base64):
# openssl base64 -d -in t.base64
二. 利用openssl命令進行md5/sha1摘要(digest)
1. 對字元串『abc』進行md5摘要計算:echo abc | openssl md5
若對某文件進行md5摘要計算:openssl md5 -in t.txt
2. 對字元串『abc』進行sha1摘要計算:echo abc | openssl sha1
若對某文件進行sha1摘要計算:openssl sha1 -in t.txt
三. 利用openssl命令進行AES/DES3加密解密(AES/DES3 encrypt/decrypt)
對字元串『abc』進行aes加密,使用密鑰123,輸出結果以base64編碼格式給出:
# echo abc | openssl aes-128-cbc -k 123 -base64
U2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g= (結果)
對以上結果進行解密處理:
# echo U2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g= | openssl aes-128-cbc -d -k 123 -base64
abc (結果)
若要從文件里取原文(密文)進行加密(解密),只要指定 -in 參數指向文件名就可以了。
進行des3加解密,只要把命令中的aes-128-cbc換成des3就可以了。
註:只要利用openssl help就可以看到更多的安全演算法了。
###############################################
二、 利用php的md5函數加密字元串
#touch a.php //創建a.php文件
#vi a.php //用vi 編輯a.php文件
將<?php echo md5(123456); ?>輸入進去後保存
#php a.php //運行a.php文件
顯示:
三、 利用md5sum命令
A.在linux或Unix上,md5sum是用來計算和校驗文件報文摘要的工具程序。一般來說,安裝了Linux後,就會有md5sum這個工具,直接在命令行終端直接運行。可以用下面的命令來獲取md5sum命令幫助 man md5sum
#md5sum –help
有個提示:「With no FILE, or when FILE is -, read standard input.」翻譯過來就是「如果沒有輸入文件選項或者文件選項為 - ,則從標磚讀取輸入內容」,即可以直接從鍵盤讀取字元串來加密。
利用md5sum加密字元串的方法
# md5sum //然後回車
123456 //輸入123456.然後按兩次ctrl+d.
顯示:
紅色代表加密後的值
還可以用管道命令:
#echo -n '123123' | md5sum
或者寫成md5加密腳本,名字叫md5.sh,
將以下內容復制進腳本里:
#!/bin/bash
echo -n $1 | md5sum | awk '{print $1}'
保存後,給腳本執行許可權。
#sh md5.sh 123456
顯示:
B.其實也可以將文本放入文本文件,然後用md5sum 加密改文本,也可以得到字元串加密的值。過程如下:
#touch a.txt
#echo -n 123456 > a.txt //將123456寫進文本文件,不能丟了 –n參數,避免回車符干擾
#md5sum a.txt
顯示: a.txt
ctrl+d有兩個含義:
一是向程序發送文件輸入結束符EOF。
二是向程序發送exit退出指令。程序收到信號後具體動作是結束輸入、然後等待,還是直接退出,那就要看該程序捕獲信號後是如何操作的了。
md5sum屬於第一個含義。兩次strl+d了,第一次讀取EOF指令,再次捕獲就會當成exit指令。而shell一類的程序,會直接把ctrl+d解析為退出指令。
『柒』 如何對資料庫中原有數據進行base64解碼呢
我理解的樓主應該是問資料庫中的數據都是加密的,怎麼不把加密的數據解密重新寫入資料庫。<?php$con = mysql_connect(server,user,pwd)mysql_select_db(databasename);$sql = "select id,S_VData from tempvideo";$rs = mysql_query($sql);while($row = mysql_fetch_assoc($rs)){$data = base64_encode($row['S_VData']);$sql = "update tempvideo set S_VData={$data} where id={$row['id']}";mysql_query($sql);}?>理下思路:首先查到加密的數據,然後解密,解密之後在更新資料庫把解密後的數據寫入資料庫。不明白樓主為什麼要這么做,為什麼保存數據的時候不是保存明文,而是要多這一步操作呢。
『捌』 不同操作系統中base64編碼的結果不一樣
public String toMD5(String st) throws Exception{
MessageDigest md=MessageDigest.getInstance("MD5");
byte []a=md.digest(st.getBytes());
BASE64Encoder ba=new BASE64Encoder();
String b=ba.encode(a);
return b;
}
是md5嗎.怎麼跟別人MD5的結果不一樣.但是用base64也解不開.
『玖』 我想通過awk將文件裡面的某列數據進行base64解碼
# cat user.csv
a00,{enc2}WWgh8S9Zr4FspHwh4Ida8A==,a,1,a00,0,,,,,,,,,,
a000,{enc2}wlAFVKF2Nka5Q53kcaRoUA==,a,1,,0,,,,,,,,,,
a0001,{enc2}JWjDZkIXAYX75m70Rqgg4Q==,a,1,,0,,,,,,,,,,
# awk -F'[},]' '{print $3}' user.csv
WWgh8S9Zr4FspHwh4Ida8A==
wlAFVKF2Nka5Q53kcaRoUA==
JWjDZkIXAYX75m70Rqgg4Q==