编码和解码及MD5加密

常在一些网站源码中看到&#x开头的内容,这是转化成unicode编码后的汉字。

--------------------------------------------unicode编码后的汉字(呵呵)转化成中文(呵呵)---------------------------------------

step1:unicode解码(呵呵 ---------------- \u5475\u5475)

+(NSString *)change:(NSString *)str
{
    NSString *changeStr = @"";
    if (!str||[str isEqualToString:@""]) {
        return @"";
    }
    changeStr = [str stringByReplacingOccurrencesOfString:@"&#x" withString:@"\\u"];
    changeStr = [changeStr stringByReplacingOccurrencesOfString:@";" withString:@""];
    return changeStr;
}

step2:unicode转UTF-8(\u5475\u5475  ---------------- 呵呵)

+(NSString *) unicodeToUtf8:(NSString *)string
{

    NSString *tempStr1 = [string stringByReplacingOccurrencesOfString:@"\\u" withString:@"\\U"];

    NSString *tempStr2 = [tempStr1 stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""];

    NSString *tempStr3 = [[@"\"" stringByAppendingString:tempStr2] stringByAppendingString:@"\""];

    NSData *tempData = [tempStr3 dataUsingEncoding:NSUTF8StringEncoding];

    NSString* returnStr = [NSPropertyListSerialization propertyListFromData:tempData

                                                           mutabilityOption:NSPropertyListImmutable

                                                                     format:NULL

                                                           errorDescription:NULL];

    return [returnStr stringByReplacingOccurrencesOfString:@"\\r\\n" withString:@"\n"];
}

------------------------------------------------------------UrlEncode--------------------------------------------------

对UTF-8中文UrlEncode编码(呵呵------------------------%e5%91%b5%e5%91%b5)

- (NSString *)URLEncodedString
{
    NSString *encodedString = (NSString *)
    CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
                                            (CFStringRef)self,
                                            (CFStringRef)@"!$&‘()*+,-./:;[email protected]_~%#[]",
                                            NULL,
                                            kCFStringEncodingUTF8);
    return encodedString;
}

- (NSString*)URLDecodedString
{
    NSString *result = ( NSString *)
    CFBridgingRelease(CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault,
                                                                              (CFStringRef)self,
                                                                              CFSTR(""),
                                                                              kCFStringEncodingUTF8));
    return result;
}

对gb2312中文UrlEncode编码(呵呵-----------------------%ba%c7%ba%c7)

MD5加密

#import "CommonCrypto/CommonDigest.h"
@implementation MD5
+(NSString *) md5: (NSString *) inPutText
{
    const char *cStr = [inPutText UTF8String];
    unsigned char result[CC_MD5_DIGEST_LENGTH];
    CC_MD5(cStr, strlen(cStr), result);

    return [[NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
             result[0], result[1], result[2], result[3],
             result[4], result[5], result[6], result[7],
             result[8], result[9], result[10], result[11],
             result[12], result[13], result[14], result[15]
             ] lowercaseString];
}
+(NSString *) MD5: (NSString *) inPutText
{
    const char *cStr = [inPutText UTF8String];
    unsigned char result[CC_MD5_DIGEST_LENGTH];
    CC_MD5(cStr, strlen(cStr), result);

    return [[NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
             result[0], result[1], result[2], result[3],
             result[4], result[5], result[6], result[7],
             result[8], result[9], result[10], result[11],
             result[12], result[13], result[14], result[15]
             ] uppercaseString];
}

.

编码和解码及MD5加密

时间: 2024-10-30 17:40:38

编码和解码及MD5加密的相关文章

python学习(二十八)URL编码和解码&签名规则需求练习

1.url编码和url解码 打开浏览器,输入"python基础教程",点击搜索后,地址栏会有一长串的类似于 %DFBGN这种 就是url编码对应的搜索内容,具体如下: https://www.so.com/s?q=python%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B&src=srp&fr=360chrome_newtab_search&psid=9fcfb50581a9a0358a7459af7832c302 那么如何用代码来进行

MD5加密及BASE64编码

MD5即Message-Digest Algorithm 5(信息-摘要算法5): 方法一: 添加jar包:${SPRING_HOME}/lib/jakarta-commons/commons-codec.jar import org.apache.commons.codec.digest.DigestUtils; public class MD5Util { // 返回md5加密后的字符串 public static String md5(String message) { String md

Java: md5 加密中文 & 注意编码

今天使用java的md5加密一个字符串(含有部分中文),遇到问题,百思不得其解. 后面网上搜索了一下,才知道是[编码]的问题. 以前在asp中用md5加密的时候,了解 gb2312和utf-8编码下,md5加密结果不一样. 我没想到java也有类似的问题,不过解决办法倒很简单: 原来的代码: 1 alg.update(txt.getBytes(encoding)); 只需修改为: 1 2 3 4 5 6 7 8 try         {             alg.update(txt.g

Base64编码 - Md5加密 - url编码

#pragma mark --------编码-------------- + (NSString * )encodeBase64:(NSString * )text { NSData * data = [text dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; // 转换到base64 data = [GTMBase64 encodeData:data]; NSString * base64String = [

Android中常用的编码和解码(加密和解密)的问题

1. URL Encoding     编码目的是为了在?址上可以包含中文等特殊字符解码是为了把编码后的内容还原成原始的内容格式如下%9C%3C%F3%98 规则: %hex_byte 就是将实际的字节转换为十六进制进行显示编码URLEncoder.encode(String str, String charset) 解码 URLDecoder.encode(String str, String charset) eg.    %E6%88%91%E6%98%AFvhly%EF%BC%8C%E4

Base64编码和解码算法

Base64么新鲜的算法了.只是假设你没从事过页面开发(或者说动态页面开发.尤其是邮箱服务),你都不怎么了解过,仅仅是听起来非常熟悉. 对于黑客来说,Base64与MD5算法有着相同的位置.由于电子邮箱(e-mail)正文就是base64编码的. 那么.我们就一起来深入的探讨一下这个东东吧. 对于一种算法,与其问"它是什么?",不如问"它实现了什么?" Base64实现了:将随意字节转为可读字符的编码. 我们知道.除了页面上的文本,计算机中的数据还有非常多是不可见的

基于Java语言的MD5加密Base64转换方法

提供了基于MD5加密16位和32位的方法 1 import java.io.IOException; 2 import java.math.BigInteger; 3 import java.security.MessageDigest; 4 import java.security.NoSuchAlgorithmException; 5 import sun.misc.BASE64Decoder; 6 import sun.misc.BASE64Encoder; 7 /** 8 * <p>标

DES/AES/MD5加密方法

大家好: 今天有空研究了下大家都在喊的AES加密!还以为是什么深奥的东西呢!终于了解了,心中释然了!跟大家一起分享下吧!DES其实就是:数据加密标准 英文的缩写!就是个加密的标注而已,AES就是 高级加密标准 英文的缩写咯,大家都叫缩写叫惯了,搞得我们这些没接触的人一头雾水!心里还真憋屈的慌呢! 这是在搜集资料的时候拿了个例子练手,不过有个问题就是,把这代码放到文本里用CMD运行的时候出现了乱码情况!所幸的是注释,不影响效果!但是,程序要真遇到这样的情况的话,就得转码了,因为文本的编码是GBK的

Linux下使用MD5加密BASE64加密

这里以字符串123456为例子,它的md5密文值为:e10adc3949ba59abbe56e057f20f883e 这里以1.txt为需要被加密的文件. 一. 用oppnssl md5 加密字符串和文件的方法. 1. oppnssl md5 加密字符串的方法 a.手动输入命令及过程如下: #openssl //在终端中输入openssl后回车. OpenSSL> md5 //输入md5后回车 123456 //接着输入123456,不要输入回车.然后按3次ctrl+d. 123456e10ad