我有一个问题,复制PHP和Coldfusion生成的相同结果.
在PHP加密这种方式:
<?php
$key = "$224455@";
$Valor = "TESTE";
$base = chop(base64_encode(mcrypt_encrypt(MCRYPT_DES, $key, $Valor, MCRYPT_MODE_ECB)));
?>
Run Code Online (Sandbox Code Playgroud)
我有结果:
TzwRx5Bxoa0 =
在Coldfusion这样做:
<cfset Valor = "TESTE">
<cfset Key = "$224455@">
<cfset base = Encrypt(Valor,ToBase64(Key),"DES/ECB/PKCS5Padding","BASE64")>
Run Code Online (Sandbox Code Playgroud)
结果:
qOQnhdxiIKs =
什么不是ColdFusion产生与PHP相同的价值?
非常感谢你
首先,我要感谢大家在阅读本网站时给予的帮助.非常感谢你.
我面临的问题是我必须使用objective-c(Iphone)加密字符串并在Web服务器中使用ColdFusion解密它们.我想使用的算法是AES-128.
目前,我设法在两个站点加密/解密,但分开.我在objective-c中加密的所有内容都可以在objective-c中解密,但不能在ColdFusion中解密.基本上,加密的结果是不一样的.
我的代码简单而干净,我可以在这里发布.
我的Objective-c输出是这样的:
加密数据:BHmXSHXWOH6McXsttNTgpL5EQmfPCebjVShkZOeHBC8 =
我的ColdFusion输出是这样的:
加密数据:G + tdEOfQTtVCQGxW3N5uzlu0mGabRKNxuIdAXArQE80 =
正如你可以看到他们是不同的:(我认为问题可能是Objective-C的代码,因为ColdFusion的一个非常简单,但我有点失去了现在,真的.任何帮助将是非常赞赏.
这是我正在使用的代码的副本:
Objective-C代码:
// Starting point of the application.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
NSString *strData = @"This is a plain string.";
NSString *strKey = @"12345678123456781234567812345678";
NSString *strIv = @"1234567812345678";
NSData *data = [NSData dataWithData:[strData dataUsingEncoding:NSUTF8StringEncoding]];
NSData *iv = [NSData dataWithData:[strIv dataUsingEncoding:NSUTF8StringEncoding]];
NSData *key = [NSData dataWithData:[strKey dataUsingEncoding:NSUTF8StringEncoding]];
NSData *encryptedData = [self doCipher:data iv:iv key:key context:kCCEncrypt];
NSLog(@"Encrypted …Run Code Online (Sandbox Code Playgroud)