草庐IT

Cryptography

全部标签

Android - 你如何处理 9774d56d682e549c ?安卓ID

所以,我认为我很聪明,并使用Android安全唯一ID的各种哈希和排列来识别我的用户....但事实证明,9774d56d682e549c是返回的魔术IDSecure.getString(getContentResolver(),Secure.ANDROID_ID);对于大量设备...看来我构建的每个模拟器都有相同的ID,而许多其他人的手机(很多motodroids!)和闪存的操作系统模块往往会返回相同的重复值。Non-MotoDroid/Non-Flashed手机似乎都给了我一个独特的回馈。但是这个在我的数据库中大约有60次!我将优化我的应用程序以在注册前检查该字符串,但有什么推荐的方

Android - 你如何处理 9774d56d682e549c ?安卓ID

所以,我认为我很聪明,并使用Android安全唯一ID的各种哈希和排列来识别我的用户....但事实证明,9774d56d682e549c是返回的魔术IDSecure.getString(getContentResolver(),Secure.ANDROID_ID);对于大量设备...看来我构建的每个模拟器都有相同的ID,而许多其他人的手机(很多motodroids!)和闪存的操作系统模块往往会返回相同的重复值。Non-MotoDroid/Non-Flashed手机似乎都给了我一个独特的回馈。但是这个在我的数据库中大约有60次!我将优化我的应用程序以在注册前检查该字符串,但有什么推荐的方

java - 为什么 AES 加密/解密在 Android 24+ 上慢 3 倍以上?

您可以跳到TL;DR我们有一个应用程序,它强烈依赖于AES加密和解密。我们希望支持尽可能多的设备,但其中一些设备(尤其是蹩脚的平板电脑,我指的不仅是中国的无名牌,还包括三星或联想的一些低端平板电脑)的加密和解密速度很慢。我们在我们的应用中使用了Android23,并且我们能够识别出某种级别,低于该级别我们的应用对于最终用户将无法正常工作(他们必须等待太长时间才能显示内容)。我们不得不排除很多平板电脑与我们的应用程序一起使用,但是,我们能够忍受这些。最近我们的一些依赖项开始需要更新版本的Android。例如,我们想切换到FacebookCoreSDK,而不是完整的FacebookSDK以

java - 为什么 AES 加密/解密在 Android 24+ 上慢 3 倍以上?

您可以跳到TL;DR我们有一个应用程序,它强烈依赖于AES加密和解密。我们希望支持尽可能多的设备,但其中一些设备(尤其是蹩脚的平板电脑,我指的不仅是中国的无名牌,还包括三星或联想的一些低端平板电脑)的加密和解密速度很慢。我们在我们的应用中使用了Android23,并且我们能够识别出某种级别,低于该级别我们的应用对于最终用户将无法正常工作(他们必须等待太长时间才能显示内容)。我们不得不排除很多平板电脑与我们的应用程序一起使用,但是,我们能够忍受这些。最近我们的一些依赖项开始需要更新版本的Android。例如,我们想切换到FacebookCoreSDK,而不是完整的FacebookSDK以

Android 4.2 破解了我的加密/解密代码并且提供的解决方案不起作用

首先,我已经看到了Android4.2brokemyAESencrypt/decryptcode和EncryptionerroronAndroid4.2以及提供的解决方案:SecureRandomsr=null;if(android.os.Build.VERSION.SDK_INT>=JELLY_BEAN_4_2){sr=SecureRandom.getInstance("SHA1PRNG","Crypto");}else{sr=SecureRandom.getInstance("SHA1PRNG");}对我不起作用,因为在Android4.2中解码在Androidjavax.cryp

Android 4.2 破解了我的加密/解密代码并且提供的解决方案不起作用

首先,我已经看到了Android4.2brokemyAESencrypt/decryptcode和EncryptionerroronAndroid4.2以及提供的解决方案:SecureRandomsr=null;if(android.os.Build.VERSION.SDK_INT>=JELLY_BEAN_4_2){sr=SecureRandom.getInstance("SHA1PRNG","Crypto");}else{sr=SecureRandom.getInstance("SHA1PRNG");}对我不起作用,因为在Android4.2中解码在Androidjavax.cryp

c++ - 一种节省内存的 SHA1 实现

我正在使用一个非常严格的嵌入式处理器,它只有128字节的内存。我想在它上面实现SHA1。RFC3174在“方法2”中描述了一种实现SHA1的方法,它不需要分配80个32位字的数组(这在320字节处显然是不切实际的),并且似乎它应该可以在我的处理器。但是,我找不到任何“方法2”的实现,并且RFC中的示例代码仅实现了默认方法。有人知道C或C++中SHA1的内存高效实现吗? 最佳答案 你应该可以快速将方法1源码适配到方法2。要改变的函数是方法1中的Sha1ProcessMessageBlock()。初始化w[0:15]从消息中,然后执行0

c++ - 一种节省内存的 SHA1 实现

我正在使用一个非常严格的嵌入式处理器,它只有128字节的内存。我想在它上面实现SHA1。RFC3174在“方法2”中描述了一种实现SHA1的方法,它不需要分配80个32位字的数组(这在320字节处显然是不切实际的),并且似乎它应该可以在我的处理器。但是,我找不到任何“方法2”的实现,并且RFC中的示例代码仅实现了默认方法。有人知道C或C++中SHA1的内存高效实现吗? 最佳答案 你应该可以快速将方法1源码适配到方法2。要改变的函数是方法1中的Sha1ProcessMessageBlock()。初始化w[0:15]从消息中,然后执行0

c++ - 验证 EXE 上的 Authenticode 签名 - 没有 CAPICOM 的 C++

我正在为安装程序DLL编写一个函数来验证系统上已安装的EXE文件的Authenticode签名。函数需要:A)verifythatthesignatureisvalid.B)verifythatthesignerisourorganization.因为它在安装程序中,并且因为它需要在较旧的Win2k安装上运行,所以我不想依赖CAPICOM.dll,因为它可能不在目标系统上。WinVerifyTrustAPI非常适合解决(A)。我需要找到一种方法将已知证书(或其中的属性)与签署相关EXE的证书进行比较。 最佳答案 您应该使用Crypt

c++ - 验证 EXE 上的 Authenticode 签名 - 没有 CAPICOM 的 C++

我正在为安装程序DLL编写一个函数来验证系统上已安装的EXE文件的Authenticode签名。函数需要:A)verifythatthesignatureisvalid.B)verifythatthesignerisourorganization.因为它在安装程序中,并且因为它需要在较旧的Win2k安装上运行,所以我不想依赖CAPICOM.dll,因为它可能不在目标系统上。WinVerifyTrustAPI非常适合解决(A)。我需要找到一种方法将已知证书(或其中的属性)与签署相关EXE的证书进行比较。 最佳答案 您应该使用Crypt