① 正常php上傳圖片要轉成base64編碼么,為什麼要這么做
int WINAPI icePub_base64EncodeFile(char *strFromFilename,char *strBase64Filename);int WINAPI icePub_base64DecodeFile(char *strBase64Filename,char *strToFilename);網路icePubDll.dll下載
② 誰會PHP base64位解密
用php自帶的函數就可以實現:base64_encode()和base64_decode(),一個加密一個解密。 直接echo base64_decode('加密後的代碼');不就行了。。。。
③ java 怎麼實現PHP的base64加密,兩種語言的base64加密後的數據不一致
在開發的時候遇到個現象。對方用PHP base64_encode() 對字元串進行加米。但我這邊是用Java解馬。導致出現問題。問題如下:
[java] view plain
package com.tudou.test;
import java.io.IOException;
/**
* <p>java base64編碼和解碼的演示類
* 註:base64編碼後通過url傳遞時,獲得時"="會給替換掉,* 處理方式:在編碼前將"=","/","+" 替換成別的字元,在解碼之前替換回來* </p>
* @author tw 2010-03-01
*
*/
public class TestBase64Net {
/**
* 編馬
* @param filecontent
* @return String
*/
public static String encode(byte[] bstr){return new sun.misc.BASE64Encoder().encode(bstr);}
/**
* 解碼
* @param filecontent
* @return string
*/
public static byte[] decode(String str){
byte[] bt = null;
try {
sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();bt = decoder.decodeBuffer( str );
} catch (IOException e) {
e.printStackTrace();
}
return bt;
}
/**
* @param args
*/
public static void main(String[] args) {
TestBase64Net te = new TestBase64Net();
//PHP 用base64 將union_id=102155_100001_01_01 加米後的字元串為: //java 用sun.misc.BASE64Encoder().encode()進行解馬,結果為:union_id=102155_100001_01_01亂碼0System.out.println(new String(te.decode("")));//java 用sun.misc.BASE64Decoder 將union_id=102155_100001_01_01進行加米,結果為:==System.out.println(new String(te.encode("union_id=102155_100001_01_01".getBytes())));}
}
經過對比不難發現用php的base64_encode() 方法進行加米,JAVA 不能用sun.misc.BASE64Encoder().encode() 進行解米。那該怎麼辦?!
可以用apache的commons包 commons-codec-1.7.jar 中的org.apache.commons.codec.binary.Base64 進行解米。
[java] view plain
import org.apache.commons.codec.binary.Base64;public class TestBase64 {
public static void main(String[] args) {
System.out.println(new String(Base64.decodeBase64("".getBytes())));}
}
?
④ php base64解碼
php本身有base64的編碼與解碼方法啊,
分別是編碼:base64_encode();解碼:base64_decode();
⑤ php 圖片流 轉為base64
使用PHP對圖片進行base64解碼輸出
<?php
$img = 'test.jpg';
$base64_img = base64EncodeImage($img);
echo '<img src="' . $base64_img . '" />';
function base64EncodeImage ($image_file) {
$base64_image = '';
$image_info = getimagesize($image_file);
$image_data = fread(fopen($image_file, 'r'), filesize($image_file));
$base64_image = 'data:' . $image_info['mime'] . ';base64,' . chunk_split(base64_encode($image_data));
return $base64_image;
}
?>
⑥ android Base64編碼 跟 PHP Base64編碼 差在哪
Base64是網路上最常見的用於傳輸8Bit位元組代碼的編碼方式之一,例如,在Java Persistence系統Hibernate中,就採用了Base64來將一個較長的唯一標識符(一般為128-bit的UUID)編碼為一個字元串,用作HTTP表單和HTTP GET URL中的參數。在其他應用程序中,也常常需要把二進制數據編碼為適合放在URL(包括隱藏表單域)中的形式。此時,採用Base64編碼具有不可讀性,即所編碼的數據不會被人用肉眼所直接看到。
轉碼過程例子:
3*8=4*6
內存1個字元佔8位
轉前: s 1 3
先轉成ascii:對應 115 49 51
2進制: 01110011 00110001 00110011
6個一組(4組) 011100110011000100110011
然後才有後面的 011100 110011 000100 110011
然後計算機是8位8位的存數 6不夠,自動就補兩個高位0了
所有有了 高位補0
再來看下代碼
android(java)版
import sun.misc.BASE64Encoder; import sun.misc.BASE64Decoder; // 將 s 進行 BASE64 編碼 public static String getBASE64(String s) { if (s == null) return null; return (new sun.misc.BASE64Encoder()).encode( s.getBytes() ); } // 將 BASE64 編碼的字元串 s 進行解碼 public static String getFromBASE64(String s) { if (s == null) return null; BASE64Decoder decoder = new BASE64Decoder(); try { byte[] b = decoder.decodeBuffer(s); return new String(b); } catch (Exception e) { return null; } }
PHP版
[下列代碼僅在GBK中實現,UTF8代碼請把 if($button=="某某地址->普通地址") echo substr(base64_decode(str_ireplace("xx://","",$txt1)),2,-2); 這句改為if($button=="某某地址->普通地址") echo substr(mb_convert_encoding(base64_decode(str_ireplace("xx://","",$txt1))),2,-2); 並把charset=gb2312改為charset=utf-8]
⑦ PHP 如何把圖片轉成 BASE64 編碼
請試一試下面的代碼
<?php
$img='圖片地址.jpg';
$base64_img=base64EncodeImage($img);
echo'<imgsrc="'.$base64_img.'"/>';
functionbase64EncodeImage($image_file){
$base64_image='';
$image_info=getimagesize($image_file);
$image_data=fread(fopen($image_file,'r'),filesize($image_file));
$base64_image='data:'.$image_info['mime'].';base64,'.chunk_split(base64_encode($image_data));
return$base64_image;
}
?>
試一試!
⑧ php 判斷字元是不是base64
PHP判斷一個字元串是否經過base64編碼,可以通過對該字元串解碼,然後編碼,最後對比兩者是否相等。示例代碼如下:
<?php
header("Content-type:text/html;charset=utf-8;");
$str="Y2hpbmF3aW54cA==";
$re=is_base64($str);
if($re){
echo"該字元串是base64編碼";
}else{
echo"該字元串未經過base64編碼";
}
//判斷字元串是否經過編碼方法
functionis_base64($str){
if($str==base64_encode(base64_decode($str))){
returntrue;
}else{
returnfalse;
}
}
?>
⑨ php文件進行base64加密
我猜你是想加密伺服器和客戶端之間傳送的內容吧。
PHP手冊裡面搜base64_decode ,base64_encode就有相關函數的介紹
網頁內容到了瀏覽器是需要JS解密的
⑩ php base64 加密 和javascript base64 不一樣
base64加密方法一樣的,正常情況下,結果應該是一樣的。