2010-08-17 29 views
6

Làm thế nào tôi có thể tìm thấy chuỗi là một dữ liệu được mã hóa với hàm base64_encode() hay không?Chuỗi mã 64 có được mã hóa không?

Có thể không?

+1

Sẽ tốt hơn rất nhiều nếu bạn sẽ không cần một phát hiện như thế nào cả. Nhiều lập trình viên có kinh nghiệm có thể sống mà không có nó và tôi chắc chắn bạn có thể. –

+1

Xem thêm http://stackoverflow.com/questions/475074 – Gumbo

+0

@Gumbo: Tôi không thêm thẻ [php5] - bản chỉnh sửa của tôi mất nhiều thời gian để gửi hơn bạn đã làm bằng cách nào đó. Tôi đã xóa nó ngay bây giờ. – BoltClock

Trả lời

17

Cố gắng giải mã hoàn toàn bảng chữ cái Base64. Tham số thứ hai cho phép bạn thực thi kiểm tra nghiêm ngặt này; bằng cách rời nó ra, chức năng giải mã đơn giản dải ra nhân vật bất hợp pháp trước khi giải mã:

if (base64_decode($str, true) === false) 
{ 
    echo 'Not a Base64-encoded string'; 
} 
1

Hãy thử điều này:

if(base64_encode(base64_decode($img, true)) === $img) 
    echo 'is a Base64-encoded string' ; 
Các vấn đề liên quan