相关疑难解决方法(0)

如何生成MD5哈希?

是否有任何方法可以在Java中生成字符串的MD5哈希?

java hash md5 hashcode

977
推荐指数
27
解决办法
99万
查看次数

Android中的MD5哈希

我有一个简单的Android客户端,需要与简单的C#HTTP侦听器"对话".我想通过在POST请求中传递用户名/密码来提供基本级别的身份验证.

MD5哈希在C#中是微不足道的,并且为我的需求提供了足够的安全性,但我似乎无法在android端找到如何做到这一点.

编辑:只是为了解决有关MD5弱点的问题 - C#服务器运行在我的Android客户端用户的PC上.在许多情况下,他们将使用自己的局域网上的Wi-Fi访问服务器,但他们可能会自己冒险从互联网上访问它.此外,服务器上的服务需要使用MD5的传递到我无法控制的第三方应用程序.

android md5 cryptography

86
推荐指数
7
解决办法
13万
查看次数

commons-logging定义了与Android Studio Update之后Android现在提供的类冲突的类

我已将Android Studio更新为版本3,现在似乎无法编译我之前编译的项目而没有错误.

错误消息如下

错误:错误:commons-logging定义与Android现在提供的类冲突的类.解决方案包括查找没有相同问题的更新版本或替代库(例如,对于httpclient使用HttpUrlConnection或okhttp),或者使用jarjar之类的东西重新打包库.[DuplicatePlatformClasses]

依赖是

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:27.0.0'
    compile 'com.android.support:design:27.0.0'
    compile 'com.google.api-client:google-api-client-android:1.23.0' exclude module: 'httpclient'
    compile 'com.google.http-client:google-http-client-gson:1.23.0' exclude module: 'httpclient'
    compile 'com.google.firebase:firebase-core:11.4.2'
}
Run Code Online (Sandbox Code Playgroud)

和错误似乎是由

compile 'com.google.api-client:google-api-client-android:1.23.0' exclude module: 'httpclient'
compile 'com.google.http-client:google-http-client-gson:1.23.0' exclude module: 'httpclient'
Run Code Online (Sandbox Code Playgroud)

我已经使用了exclude module: 'httpclient' 为什么它不编译?这是Android Studio 3和\或包含com.android.tools.build:gradle:3.0.0插件的错误还是我遗漏了什么?使用以前的版本编译完全相同的项目没有问题.

android android-studio android-gradle-plugin android-studio-3.0 android-gradle-3.0

47
推荐指数
5
解决办法
2万
查看次数

在Android应用程序中使用commonc编解码器的NoSuchMethodError

我按照这里的说明在eclipse中为我的Android应用程序添加了来自apache.org(commons-codec-1.4.jar)的公共编解码器.代码中没有错误.但是当我运行应用程序并调用使用编解码器的函数时,应用程序停止并需要关闭.

在logCat中说:

Android Runtime:java.lang.NoSuchMethodError:org.apache.commons.codec.binary.Base64.encodeBase64String

代码行是:String tmpStr = Base64.encodeBase64String(msg); // msg是一个byte []

该应用程序适用于最低SDK版本= 7(Android 2.1),因此我无法使用Android Base64

不知道怎样才能解决问题?

eclipse base64 android apache-commons-codec

16
推荐指数
3
解决办法
2万
查看次数

如何解决库冲突(apache commons-codec)

我的Android库有问题.

我想使用库org.apache.commons.codec.binary.Hex(版本1.6)中的Hex.encodeHexString(字节数组)方法

在我的Android平台(SDK 2.3.1)上,commons-codec库版本1.3已经存在但该方法在此版本中尚不存在(只有encodeHex()).

我将版本1.6的jar库添加到我的Eclipse项目中(到/ libs目录中)但是当我在Emulator上运行项目时,我得到了这个:

E/AndroidRuntime(1632): FATAL EXCEPTION: main
E/AndroidRuntime(1632): java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Hex.encodeHexString
Run Code Online (Sandbox Code Playgroud)

我如何指出操作系统在哪里是好的库?

我在Mac OS X上使用Eclipse Juno和Java 1.6.0

抱歉我的英文不好,并提前致谢!

编辑:我的问题可以用jarjar工具显然解决. http://code.google.com/p/google-http-java-client/issues/detail?id=75

有人可以帮我使用这个工具吗?我不知道如何创建Ant Manifest或jar文件.

谢谢

apache android conflict nosuchmethoderror apache-commons-codec

7
推荐指数
1
解决办法
8182
查看次数

Android Microsoft Dynamics CRM adal4j登录问题

我正在使用Microsoft aad:adal4j来处理来自Mobile的动态crm登录.实施后我得到以下例外.

我究竟做错了什么?

错误

java.lang.NoSuchMethodError: No static method encodeBase64URLSafeString([B)Ljava/lang/String; in class Lorg/apache/commons/codec/binary/Base64; or its super classes (declaration of 'org.apache.commons.codec.binary.Base64' appears in /system/framework/org.apache.http.legacy.boot.jar)
java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: No static method encodeBase64URLSafeString([B)Ljava/lang/String; in class Lorg/apache/commons/codec/binary/Base64; or its super classes (declaration of 'org.apache.commons.codec.binary.Base64' appears in /system/framework/org.apache.http.legacy.boot.jar)
at java.util.concurrent.FutureTask.report(FutureTask.java:94)
at java.util.concurrent.FutureTask.get(FutureTask.java:164)
at com.sampleadal.MainActivity.onCreate(MainActivity.java:33)
at android.app.Activity.performCreate(Activity.java:6237)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.NoSuchMethodError: No static method encodeBase64URLSafeString([B)Ljava/lang/String; in …
Run Code Online (Sandbox Code Playgroud)

java android dynamics-crm adal4j

7
推荐指数
1
解决办法
486
查看次数

java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Hex.encodeHexString

我在我的 android 应用程序中使用 Kaltura API。

我可以使用多个 API 调用,但每次尝试使用 commons-codec-1.4.jar 中包含的方法时,我都会收到错误消息,应用程序崩溃。

这是我的 LogCat:

01-18 19:38:27.863: E/AndroidRuntime(21488): FATAL EXCEPTION: main
01-18 19:38:27.863: E/AndroidRuntime(21488): java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Hex.encodeHexString
01-18 19:38:27.863: E/AndroidRuntime(21488):    at org.apache.commons.codec.digest.DigestUtils.md5Hex(DigestUtils.java:226)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at com.kaltura.client.KalturaClientBase.signature(KalturaClientBase.java:583)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at com.kaltura.client.KalturaClientBase.extractParamsFromCallQueue(KalturaClientBase.java:491)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at com.kaltura.client.KalturaClientBase.doQueue(KalturaClientBase.java:247)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at com.kaltura.client.services.KalturaMediaService.add(KalturaMediaService.java:65)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at adi.apps.wedding.MyProfile.onClick(MyProfile.java:120)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at android.view.View.performClick(View.java:4240)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at android.view.View$PerformClick.run(View.java:17721)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at android.os.Handler.handleCallback(Handler.java:730)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at android.os.Handler.dispatchMessage(Handler.java:92)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at android.os.Looper.loop(Looper.java:137)
01-18 19:38:27.863: …
Run Code Online (Sandbox Code Playgroud)

java eclipse android kaltura

5
推荐指数
1
解决办法
6472
查看次数

Android Studio中的Base64依赖项问题

我们在当前项目中使用的是带有Gradle插件0.11.+的Android Studio 0.6.1,我们遇到了依赖问题commons-codec.我们从包含"加密"服务的本地Artifactory实例中引入依赖类,该服务使用以下两行代码:

byte[] encryptedOutput = cipherFactory.getEncryptCipher().doFinal(plaintext.getBytes());
byte[] encryptedCipherText = Base64.encodeBase64URLSafe(encryptedOutput);
Run Code Online (Sandbox Code Playgroud)

问题是即使我们commons-codec在Gradle配置中定义了特定的依赖关系,我们也会得到以下异常

java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.encodeBase64URLSafe
Run Code Online (Sandbox Code Playgroud)

起初,我们手动包括依赖"公地编解码器:公地编解码器:1.9",但根据Android的工作室,当我深入到IDE中的代码,它看起来在该方法的版本1.9,但当应用程序运行时,我们得到例外.甚至将依赖关系更改为1.4仍然会失败,即使根据Javadocs的说法,该方法何时可用.即使完全删除手动依赖也会导致同样的事情发生.

有什么方法可以找出正在运行的应用程序从哪里拉出这种依赖?这是我们目前完整的依赖列表,我找不到commons-codec任何这些

compile files('libs/HockeySDK-3.0.2.jar')
compile files('libs/PushIOManager.jar')
compile 'commons-lang:commons-lang:2.6@jar'
compile 'org.codehaus.jackson:jackson-core-asl:1.9.2@jar'
compile 'org.codehaus.jackson:jackson-mapper-asl:1.9.2@jar'
compile 'com.google.android.gms:play-services:4.4.52'
compile 'com.mcxiaoke.volley:library:1.0.4'
compile 'fr.avianey:facebook-android-api:3.14.1@aar'
compile 'javax.validation:validation-api:1.0.0.GA'
Run Code Online (Sandbox Code Playgroud)

我担心这个类会被安装在Android SDK的某个地方,我们无法覆盖它以使用它的版本来commons-codec允许我们使用我们的库.即使我们能做到这一点,我担心这样做可能会导致Android本身的一些基本问题.我们可以(而且目前做的)有拉升到我们的应用程序,加密服务类的源和调整其使用适当当量,但这意味着我们做出改变,以一种或另一种版本的任何时候,我们不得不保持他们同步.

有任何想法吗?

更新:在这种特定情况下似乎工作的是扫描Gradle构建文件中的依赖项,一旦找到您要查找的依赖项,覆盖就是您要使用的版本.例如:

def versionOverrides = [
    "commons-codec:commons-codec": "1.9",
]

subprojects {
    configurations.all {
        resolutionStrategy.eachDependency { DependencyResolveDetails details ->

            def overrideVersion = versionOverrides[details.requested.group + ":" + details.requested.name]

            if (overrideVersion != null && details.requested.version != overrideVersion) {
                logger.info …
Run Code Online (Sandbox Code Playgroud)

dependencies android gradle android-studio

5
推荐指数
1
解决办法
5364
查看次数

在Android上进行SHA1加密?

你能告诉我如何使用SHA1算法加密字符串吗?我搜索过它.但没有运气.

提前致谢.

java encryption android sha1

4
推荐指数
1
解决办法
1万
查看次数