密码加密MD5

密码加密MD5

  • 创建NSString的类目
  1. NSString+Password.h

     1 //
     2 //  NSString+Password.h
     3 //  03.数据加密
     4 //
     5 //  Created by wyh on 15-1-10.
     6 //  Copyright (c) 2015年 itcast. All rights reserved.
     7 //
     8
     9
    10 #import <Foundation/Foundation.h>
    11
    12 @interface NSString (Password)
    13
    14 /**
    15  *  32位MD5加密
    16  *
    17  *  @return 32位MD5加密结果
    18  */
    19 - (NSString *)MD5;
    20
    21 /**
    22  *  SHA1加密
    23  *
    24  *  @return SHA1加密结果
    25  */
    26 - (NSString *)SHA1;
    27
    28 @end
  2. NSString+Password.m

     1 //
     2 //  NSString+Password.m
     3 //  数据加密
     4 //
     5 //  Created by wyh on 15-1-10.
     6 //  Copyright (c) 2015年 itcast. All rights reserved.
     7 //
     8
     9 #import "NSString+Password.h"
    10 #import <CommonCrypto/CommonDigest.h>
    11
    12 @implementation NSString (Password)
    13
    14 #pragma mark 使用MD5加密字符串
    15 - (NSString *)MD5
    16 {
    17     const char *cStr = [self UTF8String];
    18     unsigned char digest[CC_MD5_DIGEST_LENGTH];
    19
    20     CC_MD5(cStr, strlen(cStr), digest);
    21
    22     NSMutableString *result = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
    23
    24     for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
    25         [result appendFormat:@"%02x", digest[i]];
    26     }
    27
    28     return result;
    29 }
    30
    31 #pragma mark 使用SHA1加密字符串
    32 - (NSString *)SHA1
    33 {
    34     const char *cStr = [self UTF8String];
    35     NSData *data = [NSData dataWithBytes:cStr length:self.length];
    36     uint8_t digest[CC_SHA1_DIGEST_LENGTH];
    37
    38     CC_SHA1(data.bytes, data.length, digest);
    39
    40     NSMutableString *result = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2];
    41
    42     for(int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++) {
    43         [result appendFormat:@"%02x", digest[i]];
    44     }
    45
    46     return result;
    47 }
    48
    49 @end
  • 使用步骤:
  1. 在使用的类中加入类目:#import "NSString+Password.h"
  2. 用要加密的字符串调方法MD5或SHA1,返回加密后的字符串:加密结果=[self.userPwd.text MD5];
  3. 结束
  • 简介
  1. Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC 1321
  2. MD5用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现MD5的典型应用是对一段字节串产生指纹,以防止被“篡改”。例如,可以对一个readme.txt生成一个MD5的值并记录在案,如果其他人修改了文件中的任何内容,对该文件重新计算的MD5值会发生变化MD5还广泛用于操作系统的登录认证上,如Unix、各类BSD系统登录密码、数字签名等诸多方面
  3. MD5是不可逆
  4. MD5同样的数据加密结果是一样的?密码上的一个忌讳
  5. MD5在用的时候要加点”盐”及私钥,不然会被破解,最好定义一个宏,来存添加的那部分字符串
  6.  

    破解网站:http://www.cmd5.com

时间: 2024-08-03 21:40:30

密码加密MD5的相关文章

密码加密MD5,Bash64

基于jar : org.apache.commons.codec 一.MD5概述:不可逆加密 Message Digest Algorithm MD5(中文名为消息摘要算法第 五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护. MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译摘要算法.哈希算法),主流编程语言普遍已有MD5实现.将数据(如汉字)运算为另一固定长度值,是杂凑算法的基

密码加密md5和sha

package cn.springmvc.util;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class SecurityIDUtil { /** * Encrypt string using MD5 algorithm */ public final static String encryptMD5(String source) { if (source ==

C#:使用MD5对用户密码加密与解密

C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1)16位的MD5加密 /// <summary> /// 16位MD5加密 /// </summary> /// <param name="password"></param> /// <returns></returns&

转 C#:使用MD5对用户密码加密与解密

C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1)16位的MD5加密 /// <summary> /// 16位MD5加密 /// </summary> /// <param name="password"></param> /// <returns></returns&

Android实例-手机安全卫士(十四)-为密码进行MD5加密

一.目标. 将设置的密码通过MD5加密后再保存. 二.代码实现. 1.在自定义工具包(com.example.mobilesafe.ui)中新增一个类(取名MD5Utils).在新建类(MD5Utils)中新建一个返回值为String类型的public的静态方法(取名mD5Encryption),传入参数为String类型(password). 2.在新建的方法(md5Encryption)中: ①.通过消息摘要器对象(MessageDigest)的getInstance(String algo

spring security中配置密码为md5的带salt加密

spring security中配置密码为md5的带salt加密 service: private Md5PasswordEncoder encoder; //spring security md5 public Md5PasswordEncoder getEncoder() { return encoder; } @Resource public void setEncoder(Md5PasswordEncoder encoder) { this.encoder = encoder; } @O

找回MD5加密的密码及MD5加密数据库中数据

有时,在开发过程中,如果不小心更改掉了项目管理员帐号的密码而又忘了,存在数据库里的密码又是MD5加密后的,这时候怎么办?最为菜鸟的我,刚开始也很迷茫,不过向前辈们请教了请教,自己也查了查资料,特意整理记录一下,并分享给大家. 前提是你知道这个密码存在在哪个表的哪个字段,只不过是加密了,如果是oracle数据库的话,可以用DBMS_OBFUSCATION_TOOLKIT.MD5 ( input => utl_raw.cast_to_raw('预置密码'))来得到一个MD5加密后的密码, 所以我们可

MD5密码加密

MD5密码加密 # coding:utf-8 import requests import re from bs4 import BeautifulSoup import hashlib def encryptPwd(passwd): # 对密码进行了md5双重加密 passwd = hashlib.md5(passwd.encode('utf-8')).hexdigest() # veennike 这个值是在js文件找到的一个写死的值 passwd = 'veenike'+passwd+'ve

extmail 密码加密方式修改为plain-md5的方法

extmail默认密码加密方式是md5crypt,但是有些时候会遇到这样的问题--老的邮件系统中的用户密码是md5加密的. 此时需要将extmail的密码加密方式修改为md5,通过官方解释(md5和md5crypt没有区别),修改为plain-md5即可.但是,这只解决了web登陆的验证问题,没有解决smtp以及pop3的验证问题. 通过 http://www.extmail.org/forum/viewthread.php?tid=3175 帖子解决了验证问题,内容摘录如下: courier-