- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试解密一个字符串,该字符串首先在 ecb 模式下使用 des 加密,然后在 base64 中编码。
这是我的代码:
+ (NSString *)decrypt:(NSString *)encryptedText
{
NSString *key = @"12345678";
NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:encryptedText options:0];
size_t numBytesDecrypted = 0;
size_t bufferSize = [decodedData length] + kCCBlockSizeDES;
void *buffer = malloc(bufferSize);
char keyPtr[kCCKeySizeDES+1]; // room for terminator (unused)
bzero(keyPtr, sizeof(keyPtr));
[key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding];
CCCryptorStatus cryptStatus = CCCrypt(kCCDecrypt,
kCCAlgorithmDES,
kCCOptionPKCS7Padding | kCCOptionECBMode,
keyPtr,
kCCKeySizeAES256,
NULL /* initialization vector (optional) */,
[decodedData bytes], [decodedData length], /* input */
buffer, bufferSize, /* output */
&numBytesDecrypted);
NSData *val = [NSData dataWithBytesNoCopy:buffer length:numBytesDecrypted];
return [[NSString alloc] initWithData:val encoding:NSUTF8StringEncoding];
}
但是我得到的是一个 nil 字符串……有什么想法吗?
最佳答案
您正在使用 DES,但在调用 CCCrypt
时将 key 大小指定为:kCCKeySizeAES256
。
从安全的角度来看,这段代码有很多问题,不要在真正的应用程序中使用它。这不再是最佳实践。除其他事项外,应使用基于密码的 key 派生功能(例如 PBKDF2)将密码转换为 key 。使用 DES 和 ECB 模式也是一个弱点。
关于ios使用des ecb解密base64编码的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22851693/
我们使用下面的密码 AES/ECB/NOPADDING 但我有点困惑,因为像 ECB 这样的模式需要根据 block 大小填充输入。但是这里我们说 NOPADDING。他们看起来不矛盾吗。 我们能否将
据我所知,两者是相同的,但一个在一台 PC 上工作,而相同的代码说: javax.crypto.NoSuchPaddingException:OAEPWITHSHA-256ANDMGF1PADDING
我想在Java中用rsa/ecb/pkcs1填充模式用给定的公钥(公钥是一个字符串)来编码一个字符串。。我也想用UTF-8格式呈现成绩,怎么办呢?
使用 Emacs 24.3.1 附带的 CEDET 和 Melpa 中的 ECB,我得到以下尝试 ecb-activate : All requirements for ECB 2.40 fulfil
使用 Emacs 24.3.1 和 ECB 2.40 运行 Ubuntu 12.10。除了几天前我运行的 apt-get update && upgrade 之外,不确定究竟是什么导致了这种情况。 它
所以我确实安装了 Emacs 24.3.1,并且从 24 开始它带有 CEDET。我通过 list-packages 安装了 ECB,一切似乎都有效——除了方法窗口刷新。 当我打开一个文件时,会显示所
是否可以制作 emacs ecb(Emacs 代码浏览器)在目录浏览器中不显示 .pyc 和 .pyo 文件? 最佳答案 您可以自定义变量 source-file-regexps 来指定哪些文件显示为
我正在尝试使用带有硬编码 key 的 DES/ECB/PKCS5Padding 算法在 Java 中加密相同的数据。我使用 online tool 验证了我的加密值。如果我使用带有特殊字符的 key
我的 php 脚本和我的 c# 应用程序将相互传递一个 32 个字符长的哈希字符串,最好的模式是什么?我认为是欧洲央行,但我不确定是否使用超过 1 个区 block 就不要使用。我怎么知道 block
我正在使用 ECB (Emacs Code Browser)和我的默认布局如下: ;; +------+-------+--------------------------------------+
在 emacs 中,ecb 作为次要模式运行,我想将布局设置为默认。因此,一旦 emacs 启动,我就拖动左侧的 Pane 来更改布局,当我在“布局管理”下说“存储当前窗口大小”时,它会正确写入文件
我正在尝试检索设备注册 ID,以便从我的后端向其发送通知。 我已经尝试过几次: 在我的对象之外 GambifyApp.NotificationManager = window.GambifyApp.N
我最近编写了一个简单的 java 应用程序,尝试使用 ECB CBC 加密模式,并且我注意到我的代码工作方式有些奇怪。由于某种原因,我生成的密文将始终产生相同的字符串,并且我注意到 ECB 和 CBC
从this Wikipedia article on cipher modes来看以及我听说过的有关 ECB 的其他事情,这是一个很大的禁忌,可能会泄露有关您的加密数据的信息。然而,网上仍有大量使用
public class Symmetric1 { /** * @param args the command line arguments */ public s
我在使用 openssl crate 解密字节字符串时遇到问题。请注意,这是针对 Cryptopals 挑战,特别是第 2 组问题 2。文本文件已使用 AES 和 CBC 模式加密,但我猜单个 blo
我已经搜索了很多关于我的任务,比如, 我正在通过使用 RSA/ECB/PKCS1Padding 从后端加密的 XML 获取数据,他们给了我一个文件名 “publickey.der”。根据他们的说法,这
我想在java中使用给定的公钥(公钥是一个字符串)以rsa/ecb/pkcs1填充模式对字符串进行编码。 我还想以 UTF-8 格式呈现结果怎么办? 最佳答案 我已经完成了这段代码:
我正在尝试使用带有 RSA key 对的 Cipher 以及 "AndroidKeyStore"。在我能找到的所有 Android 文档中,示例显示 Cipher.getInstance("RSA/E
我正在尝试执行已知文本攻击以获得 32 字节 key 。BlockSize 为 16 字节。 关于此:https://crypto.stackexchange.com/a/12512 或者这个:htt
我是一名优秀的程序员,十分优秀!