php-Android 不能解码 PHP base64 代码

问题描述

Android 不能解码 PHP base64 代码

我想解码Base64代码,再通过PHP服务器编码。程序能正常运行能使用PHP解码,但是当我通过Android手机解码时,有下面的错误:

Base64DecoderException: encoded value has invalid trailing byte

Base64 Code:

oLAwb6uSn2JXqAFTX+qJXaOawOYF3kDDK2HlCb7ItCeimVCsDE7OYH5OgsixKpIAM6KgkCktnB4HsLQtA5Ig1fQvDrRcct9dQi4m8wPpF7a3sFHSG29j2aItKeouflTtsSZgKWvSjg0gBBGM/7PlvkuK+8W4/GXS0QrqV1jcngWrspYmAdi0GiJbPm8b/zlscOIa1z1df11SuQH5+GiUzqZ4WDFOpoH0WWVW3KmbMQ2yifBmXnhn80qZct6KiN7aL8PHEczhNrRqAKfUuEwmsWOnEOyh7UOU6FcnW3VAo2BWd5dJRGgWb5Py09l0XmrdWdzin7klKtMqXOWQRcvEVT7PKtQxQotRpOa+2IQQirVfybyuMipY9YORuW1hqmc95Tdt1WHdIzVwEtq6NXx9AC5mSklbxrcOpINfS2RPFcK0UUMV2xQKAQ+u8PzTj/KBEmb04ObBbnX6y3uL1KT58lDecA9lIbNYuttlgRMzRdxFOvkk21wou2vtMBtIxk0XFJJGjazqqcxVeSxTvQ68wdNSkRmvteowkSq2Vi09CmOhToRHemFyZgKTxSBoNaFuVuYGVggEFIR9kHVrLxoK2Q==

Server Side

echo toAES("some stringe");

function pkcs5_pad($text, $blocksize) {
    $pad = $blocksize - (strlen($text) % $blocksize);

    return $text . str_repeat(chr($pad), $pad);
} 

function toAES($sStr) {
    error_reporting(E_ERROR | E_PARSE);

    $sKey = '1234567891234567';

    $size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
    $sStr = pkcs5_pad($sStr, $size);

    $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_ECB, '');
    $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);

    mcrypt_generic_init($td, $sKey, $iv);
    $data = mcrypt_generic($td, $sStr);

    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);

    $data = base64_encode($data);

    return $data;
}

function fromAES($sStr) {
    error_reporting(E_ERROR | E_PARSE);

    $sKey = '1234567891234567';

    $decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $sKey, base64_decode($sStr), MCRYPT_MODE_ECB);

    $dec_s     = strlen($decrypted);
    $padding   = ord($decrypted[$dec_s - 1]);
    $decrypted = substr($decrypted, 0, -$padding);
return $decrypted;
    }

My Java Code

 try
    {
        SecretKeySpec mSecretKeySpec = new SecretKeySpec('1234567891234567'.getBytes(), "AES");

        byte[] decrypted = Base64.decode(s.getBytes("UTF-8"), Base64.Deafult);

        Cipher mCipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
        mCipher.init(Cipher.DECRYPT_MODE, mSecretKeySpec);

        return new String(mCipher.doFinal(decrypted));
    }
    catch (Exception e)
    {
        e.printStackTrace();

        return null; // Always return null with the posted error
    }
时间: 2024-09-15 02:02:08

php-Android 不能解码 PHP base64 代码的相关文章

android mp3解码-关于libmp3lame解码mp3问题

问题描述 关于libmp3lame解码mp3问题 android: 使用libmp3lame对pcm数据编码为mp3已经实现, 可是现在需要对本地的mp3进行解码为pcm,然后跟录音文件合成然后编码为一个mp3文件, 求关于libmp3lame解码mp3的代码 解决方案 没人啊,结贴了....... 解决方案二: lame编程:MP3解码lame mp3mp3 lame 解决方案三: 这是native部分这是使用引用libmp3lame进行mp3编码部分 现在需要的是引用libmp3lame进行

Android编程之图片相关代码集锦

本文实例总结了Android编程之图片相关代码.分享给大家供大家参考,具体如下: 1. Bitmap转化为字符串: /** * @param 位图 * @return 转化成的字符串 */ public static String bitmapToString(Bitmap bitmap) { // 将Bitmap转换成字符串 String string = null; ByteArrayOutputStream bStream = new ByteArrayOutputStream(); bi

android 中导入数据库,代码一处错误。请大神帮我看看

问题描述 android 中导入数据库,代码一处错误.请大神帮我看看 解决方案 首先你要确定这个cothinkganbu这个文件在哪儿呢,如果你放在了assets里面那就不是这样调用获取资源了,红线处说明的是找不到这个资源,所以你检查一下看是什么情况. 解决方案二: 清理一下工程看看.... 解决方案三: 请大神帮我看看这段代码

Android 画一个太极图实例代码_Android

今天练手一下,一起来画个太极图吧~ 最终效果如下: 最终效果 一般都是先讲原理,我就反其道而行,先讲实现吧. 1.继承实现初始化方法 继承View,实现基本的构造函数: public TestView(Context context) { this(context, null); } public TestView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public TestView(Context c

Android字段验证的实例代码_Android

先给大家展示效果图: package com.example.walkerlogin1; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widge

用Go语言写Android应用 (2) - 从Android的Java调用Go代码

用Go语言写Android应用 (2) - 从Android的Java调用Go代码 上一篇我们讲到,Go在Android中的作用,就相当于NDK中的C/C++.上节我们学习了参照NDK的方式用纯Go语言来写应用. 但是,也正如在Android中,C/C++主要是通过JNI的方式被Java代码调用,本节我们就学习如何使用Java代码来调用Go代码. Java调Go的JNI例子 Java部分 我们首先来看这个简单得不能再简单的Java部分的代码,只有一个TextView,然后调用Go写的Hello.

在Android开发中使用java代码的一些问题,求大神来看看。

问题描述 在Android开发中使用java代码的一些问题,求大神来看看. 1.我在MainActivity中定义一个单击事件监听器OnClickListener,这时要导入类,但是import android.view.*; 这样自己定义的OnClickListener会报错.但是 import android.view.View.*和import android.view.View.OnClickListener均不会报错.请问这是怎么回事?import android.view.*不是代表

android小白请教一段代码的详细解释。。非常感谢

问题描述 android小白请教一段代码的详细解释..非常感谢 代码如下 private String read(){ try{ FileInputStream fis=openFileInput(FILE_NAME); byte[] buff=new byte[1024]; int hasRead=0; StringBuilder sb=new StringBuilder(""); while ((hasRead=fis.read(buff))>0){ sb.append(ne

android 中 如何通过java代码调用style样式

问题描述 android 中 如何通过java代码调用style样式 平时做开发,通常style样式直接在xml布局文件中直接调用,如果我想直接在java代码中通过动态加载来设置,是否可以?通过查阅资料,很多说不可以,解决方式是把style中的逐条信息加载设置,还有其他途径可以设置吗? 解决方案 无其他方式无其他方式无其他方式 解决方案二: 我们之前的一个项目也尝试过在java里面动态加载style,最后也放弃了,这个确实做不到,楼主想想其它方法吧 解决方案三: 多谢,各位,目前我没有发现动态加