delphi base64 md5与sha1加密单(cnvcl)

今天一直在研究delphi中的base64和sha1,使用的是http://www.cnpack.org的cnvcl中的单元,CnSHA1.pas和CnBase64.pas,很感谢cnpack组的贡献,让我们方便的在delphi中使用base64与sha1加密,还有md5。

在使用单次加密时还和php的结果还可以说一样,就是php都是小写,delphi是大写,但两次加密后结果就完全不一样的,因为大小写二次加密结果是不一样的,这一点要注意。

使用这三种加密方式时要分别引用CnSHA1,CnBase64,CnMD5单元。

delphi代码

str2 := LowerCase(SHA1Print(SHA1StringA(‘123‘)));

str3 := LowerCase(SHA1Print(SHA1StringA(str2)));

php代码

echo sha1(‘123‘)."\n";

echo sha1(sha1(‘123‘))."\n";

delphi加LowerCase转为小写后两者结果就一致了。

时间: 2024-11-04 13:19:56

delphi base64 md5与sha1加密单(cnvcl)的相关文章

python 中md5 和 sha1 加密, md5 + os.urandom 生成全局唯一ID

首先先来介绍一下md5 和 sha1 的概念 MD5 MD5的全称是Message-Digest Algorithm 5(信息-摘要算法).128位长度.目前MD5是一种不可逆算法. 具有很高的安全性.它对应任何字符串都可以加密成一段唯一的固定长度的代码. SHA1 SHA1的全称是Secure Hash Algorithm(安全哈希算法) .SHA1基于MD5,加密后的数据长度更长, 它对长度小于264的输入,产生长度为160bit的散列值.比MD5多32位. 因此,比MD5更加安全,但SHA

android MD5和SHA1加密实例

//找了好久,网上的很多加密结果不对,最后百度加我自己修改成功解决问题 public class MD5 { private static String key = "a6U&1$Ip[Jr/sed]Rfvn=O>Mz+}lXN*%-gLcGD|0"; //MD5加密实例 public static String getMD5(String str) throws NoSuchAlgorithmException { MessageDigest md5 = null; t

BASE64,MD5,SHA,HMAC加密與解密算法(java)

package com.ice.webos.util.security; import java.io.UnsupportedEncodingException; import java.math.BigInteger; import java.security.Key; import java.security.MessageDigest; import java.security.SecureRandom; import javax.crypto.Cipher; import javax.c

ASP.NET中MD5与SHA1加密的几种方法

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出来,经md2.md3和md4发展而来.它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是md2.md4还是md5,它们都需要获得一个随机长度的信息并产

iOS 中MD5和sha1加密

#import "CommonCrypto/CommonDigest.h" -(NSString *)getSha1String { NSData *data = [self dataUsingEncoding:NSUTF8StringEncoding]; uint8_t digest[CC_SHA1_DIGEST_LENGTH]; CC_SHA1(data.bytes, data.length, digest); NSMutableString* result = [NSMutabl

Python md5 和 sha1 的使用

测试版本: Python 2.7 测试说明: Python 内置的 hashlib 模块中有 md5 和 sha1 加密方法,可以直接使用. md5加密 import hashlib data = 'This a md5 test!' hash_md5 = hashlib.md5(data) hash_md5.hexdigest() sha1加密 import hashlib hashlib.sha1('This is a sha1 test!').hexdigest() md5加密对比两个文件

MD5和SHA-1

MD5和SHA-1都是我们耳熟能详的术语了,很多人可能知道他们跟加密有关系,但是他们是怎么做到加密的,他们各自的特点又是什么.我来简单的讲一讲. MD5和SHA-1都被称作哈希(Hash)函数,用过Java语言的人对这个术语应该相当熟悉.Java类库里的Object类定义了hashCode这个函数,但是java的概念略有不同.正式的哈希函数的定义是"把任意长度的数据计算成固定长度的数据".也就是说函数的输入是任意长的,输出总是固定长度的.MD5和SHA-1是两种加密用哈希函数,MD5的

js实现md5加密sha1加密等

1.base64加密 在页面中引入base64.js文件,调用方法为: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>base64加密</title> <script type="text/javascript" src="base64.js"></script> <scr

C#加密方法汇总(SHA1加密字符串,MD5加密字符串,可逆加密等)

using System;using System.Collections.Generic;using System.Text; namespace StringEncry{ class EncodeAndDecode { /// <summary> /// Base64加密 /// </summary> /// <param name="codeName">加密采用的编码方式</param> /// <param name=&qu