crypt函数实现(求ASP字符串的加密解密函数)

:暂无数据 2026-08-11 08:20:25 :0

crypt函数实现(求ASP字符串的加密解密函数)

其实crypt函数实现的问题并不复杂,但是又很多的朋友都不太了解求ASP字符串的加密解密函数,因此呢,今天小编就来为大家分享crypt函数实现的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

求ASP字符串的加密解密函数

rsa.asp
《%
rem 在ASP中实现加密与解密,加密方法:根据RSA
rem 联系:hnsoso@sina.com
Class clsRSA
Public PrivateKey
Public PublicKey
Public Modulus
Public Function Crypt(pLngMessage, pLngKey)
On Error Resume Next
Dim lLngMod
Dim lLngResult
Dim lLngIndex
If pLngKey Mod 2 = 0 Then
lLngResult = 1
For lLngIndex = 1 To pLngKey / 2
lLngMod = (pLngMessage ^ 2) Mod Modulus
’ Mod may error on key generation
lLngResult = (lLngMod * lLngResult) Mod Modulus
If Err Then Exit Function
Next
Else
lLngResult = pLngMessage
For lLngIndex = 1 To pLngKey / 2
lLngMod = (pLngMessage ^ 2) Mod Modulus
On Error Resume Next
’ Mod may error on key generation
lLngResult = (lLngMod * lLngResult) Mod Modulus
If Err Then Exit Function
Next
End If
Crypt = lLngResult
End Function
Public Function Encode(ByVal pStrMessage)
Dim lLngIndex
Dim lLngMaxIndex
Dim lBytAscii
Dim lLngEncrypted
lLngMaxIndex = Len(pStrMessage)
If lLngMaxIndex = 0 Then Exit Function
For lLngIndex = 1 To lLngMaxIndex
lBytAscii = Asc(Mid(pStrMessage, lLngIndex, 1))
lLngEncrypted = Crypt(lBytAscii, PublicKey)
Encode = Encode & NumberToHex(lLngEncrypted, 4)
Next
End Function
Public Function Decode(ByVal pStrMessage)
Dim lBytAscii
Dim lLngIndex
Dim lLngMaxIndex
Dim lLngEncryptedData
Decode = ""
lLngMaxIndex = Len(pStrMessage)
For lLngIndex = 1 To lLngMaxIndex Step 4
lLngEncryptedData = HexToNumber(Mid(pStrMessage, lLngIndex, 4))
lBytAscii = Crypt(lLngEncryptedData, PrivateKey)
Decode = Decode & Chr(lBytAscii)
Next
End Function
Private Function NumberToHex(ByRef pLngNumber, ByRef pLngLength)
NumberToHex = Right(String(pLngLength, "0") & Hex(pLngNumber), pLngLength)
End Function
Private Function HexToNumber(ByRef pStrHex)
HexToNumber = CLng("&h" & pStrHex)
End Function
End Class
%》
test.asp
《!--#INCLUDE FILE="RSA.asp"--》
《%
function Encryptstr(Message)
Dim LngKeyE
Dim LngKeyD
Dim LngKeyN
Dim StrMessage
Dim ObjRSA
LngKeyE = "32823"
LngKeyD = "20643"
LngKeyN = "29893"
StrMessage = Message
Set ObjRSA = New clsRSA
ObjRSA.PublicKey = LngKeyE
ObjRSA.Modulus = LngKeyN
Encryptstr = ObjRSA.Encode(StrMessage)
Set ObjRSA = Nothing
end function
function decryptstr(Message)
Dim LngKeyE
Dim LngKeyD
Dim LngKeyN
Dim StrMessage
Dim ObjRSA
LngKeyE = "32823"
LngKeyD = "20643"
LngKeyN = "29893"
StrMessage = Message
Set ObjRSA = New clsRSA
ObjRSA.PrivateKey =LngKeyD
ObjRSA.Modulus=LngKeyN
decryptstr=ObjRSA.Decode(StrMessage)
Set ObjRSA = Nothing
end function
dim last,first
first="sohu"
Response.Write "加密前为:"&first
last=Encryptstr(first)
Response.Write "加密后为"&last
Response.Write "解密后为" &decryptstr(last)
%》

Postgresql函数encrypt找不到

是的。
Postgresql的加密函数是crypt不是encrypt。crypt()和gen_salt专用于密码哈希加密,crypt计算哈希值,gen_salt为crypt提供算法参数,gen_salt是随机产生一个值并传递给crypt使用。
crypt支持的算法,bf,md5,xdes,des。

linux shell 怎么使用crypt函数

crypt是个密码加密函数,它是基於DataEncryptionStandard(DES)演算法。

crypt基本上是Onewayencryption,因此它只适用於密码的使用,不适合於资料加密。

char*crypt(constchar*key,constchar*salt);

key是使用者的密码。salt是两个字,每个字可从中选出来,因此同一密码增加了4096种可能性。透过使用key中每个字的低七位元,取得56-bit关键字,这56-bIT关键字被用来加密成一组字,这组字有13个可显示的ASCII字,包含开头两个salt。

crypt在您有自行管理使用者的场合时使用,例如会员网站、BBS等等。

范例一:crypt_word.c

#include
#include
#include

voidmain(intargc,char**argv)

{

if(argc!=3)exIT(0);

printf("%sn",crypt(argv));

}
编译

gcc-ocrypt_wordcrypt.c-lcrypt
检验

请先看您的/etc/passwd,找一个您自己的帐号,看前面两个字,那是您自己的salt。接下来输入:

./crypt_wordyour_passwordsalt

看看它们是否相同(应该要相同,除非您加了cryptplugin或使用不同的crypt

function,例如shadow、pam,这种状况下,加密字是不同的),另外检验看看他们是否为13个字。

您也可以利用Apache上所附的htpasswd来产生加密字做为验证。

PHP DES加密函数

两个函数如下:
加密函数:encrypt
function encrypt($encrypt,$key="") {
$iv = mcrypt_create_iv ( mcrypt_get_iv_size ( MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB ), MCRYPT_RAND );
$passcrypt = mcrypt_encrypt ( MCRYPT_RIJNDAEL_256, $key, $encrypt, MCRYPT_MODE_ECB, $iv );
$encode = base64_encode ( $passcrypt );
return $encode;
}
解密函数:decrypt
function decrypt($decrypt,$key="") {
$decoded = base64_decode ( $decrypt );
$iv = mcrypt_create_iv ( mcrypt_get_iv_size ( MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB ), MCRYPT_RAND );
$decrypted = mcrypt_decrypt ( MCRYPT_RIJNDAEL_256, $key, $decoded, MCRYPT_MODE_ECB, $iv );
return $decrypted;
}

postgresql数据加密函数使用

可以采用md5函数进行数据加密存储和校验
《pre》
create table usertable(id serial,PASSWORD text);

insert into usertable (PASSWORD) values(md5(’222222’));
insert into usertable (PASSWORD) values(md5(’111111’));

SELECT * from usertable where PASSWORD=md5(’222222’)
《/pre》
更加安全的是采用加盐模式,密码相同但是结果不同
《pre》
insert into usertable(password) values (crypt(’123456’,gen_salt(’md5’)));
insert into usertable(password) values (crypt(’123456’,gen_salt(’md5’)));
SELECT * from usertable where PASSWORD=crypt(’123456’,password);

2 $1$LEt6lBlJ$cSucnCctkaLU2tXCLCpLk0
3 $1$tP/w8ICv$Ucx9BP9j/eWmuAtiJjbTP/
《/pre》

附:函数
**crypt()
crypt(password text, salt text) returns text
Calculates a crypt(3)-style hash of password. When storing a new password, you need to use gen_salt() to generate a new salt value. To check a password, pass the stored hash value as salt, and test whether the result matches the stored value.

crypt() 函数支持的加密算法**

**gen_salt()
gen_salt(type text ) returns text
Generates a new random salt string for use in crypt(). The salt string also tells crypt() which algorithm to use.The type parameter specifies the hashing algorithm. The accepted types are: des, xdes, md5 and bf.

MySQL函数的加密函数

a) 函数 AES_ENCRYPT(str ,key_str ) , AES_DECRYPT(crypt_str ,key_str )
函数使用说明:这些函数允许使用官方 AES 进行加密和数据加密 ( 高级加密标准 ) 算法 , 即以前人们所熟知的 “Rijndael” 。 保密关键字的长度为 128 比特,不过你可以通过改变源而将其延长到 256 比特。我们选择了 128 比特的原因是它的速度要快得多,且对于大多数用途而言这个保密程度已经够用。
b) 函数DECODE(crypt_str ,pass_str )
函数使用说明:使用 pass_str 作为密码,解密加密字符串 crypt_str , crypt_str 应该是由 ENCODE() 返回的字符串。
c) 函数 ENCODE(str ,pass_str )
函数使用说明:使用 pass_str 作为密码,解密 str 。 使用 DECODE() 解密结果。
d) 函数 DES_DECRYPT(crypt_str )
函数使用说明:使用 DES_ENCRYPT() 加密一个字符串。若出现错误,这个函数会返回 NULL 。
e) 函数 DES_ENCRYPT(str )
函数使用说明:用 Triple-DES 算法给出的关键字加密字符串。若出现错误,这个函数会返回 NULL 。
f) 函数 ENCRYPT(str )
函数使用说明:使用 Unix crypt() 系统调用加密 str 。 salt 参数应为一个至少包含 2 个字符的字符串。若没有给出 salt 参数,则使用任意值。
g) 函数 MD5(str )
函数使用说明:为字符串算出一个 MD5 128 比特检查和。该值以 32 位十六进制数字的二进制字符串的形式返回 , 若参数为 NULL 则会返回 NULL 。例如,返回值可被用作散列关键字
h) 函数 OLD_PASSWORD(str )
函数使用说明:当 PASSWORD() 的执行变为改善安全性时, OLD_PASSWORD() 会被添加到 MySQL 。 OLD_PASSWORD() 返回从前的 PASSWORD() 执行值 ( 4.1 之前 ) ,同时允许你为任何 4.1 之前的需要连接到你的 5.1 版本 MySQL 服务器前客户端设置密码,从而不至于将它们切断
i) 函数PASSWORD(str )
函数使用说明:从原文密码str 计算并返回密码字符串,当参数为 NULL 时返回 NULL 。这个函数用于用户授权表的Password 列中的加密MySQL 密码存储

如果你还想了解更多这方面的信息,记得收藏关注本站。

crypt函数实现(求ASP字符串的加密解密函数)

本文编辑:admin

更多文章:


百度站长改版链接多跳一错误(网站更换了https协议,但是站长平台总是审核不过)

百度站长改版链接多跳一错误(网站更换了https协议,但是站长平台总是审核不过)

大家好,如果您还对百度站长改版链接多跳一错误不太了解,没有关系,今天就由本站为大家分享百度站长改版链接多跳一错误的知识,包括网站更换了https协议,但是站长平台总是审核不过的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月15日 08:30

天津医科大学2021研究生招生(天津医学院2023录取分数线)

天津医科大学2021研究生招生(天津医学院2023录取分数线)

其实天津医科大学2021研究生招生的问题并不复杂,但是又很多的朋友都不太了解天津医学院2023录取分数线,因此呢,今天小编就来为大家分享天津医科大学2021研究生招生的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月15日 05:10

天津小客车摇号查询结果(天津摇号结果查询怎么查询)

天津小客车摇号查询结果(天津摇号结果查询怎么查询)

本篇文章给大家谈谈天津小客车摇号查询结果,以及天津摇号结果查询怎么查询对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月15日 00:20

亚马逊云服务器永久免费(亚马逊云可以注册域名吗)

亚马逊云服务器永久免费(亚马逊云可以注册域名吗)

其实亚马逊云服务器永久免费的问题并不复杂,但是又很多的朋友都不太了解亚马逊云可以注册域名吗,因此呢,今天小编就来为大家分享亚马逊云服务器永久免费的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月14日 23:30

海外市场推广(要做海外品牌推广,这几点很重要)

海外市场推广(要做海外品牌推广,这几点很重要)

“海外市场推广”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看海外市场推广(要做海外品牌推广,这几点很重要)!

2026年10月14日 22:50

天津民办大专学校有哪些(天津有哪些大专)

天津民办大专学校有哪些(天津有哪些大专)

大家好,如果您还对天津民办大专学校有哪些不太了解,没有关系,今天就由本站为大家分享天津民办大专学校有哪些的知识,包括天津有哪些大专的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月14日 20:00

经济双循环是什么时候提出的(内外双循环是什么时候提出的)

经济双循环是什么时候提出的(内外双循环是什么时候提出的)

“经济双循环是什么时候提出的”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看经济双循环是什么时候提出的(内外双循环是什么时候提出的)!

2026年10月14日 19:30

根服务器价格(ipv6为何在中国有根服务器)

根服务器价格(ipv6为何在中国有根服务器)

这篇文章给大家聊聊关于根服务器价格,以及ipv6为何在中国有根服务器对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月14日 16:50

域名被别人备案了(我们网站域名被人备案了怎么办)

域名被别人备案了(我们网站域名被人备案了怎么办)

大家好,今天小编来为大家解答以下的问题,关于域名被别人备案了,我们网站域名被人备案了怎么办这个很多人还不知道,现在让我们一起来看看吧!

2026年10月14日 15:40

apache服务器的默认端口是(apache服务器提供服务的标准端口是)

apache服务器的默认端口是(apache服务器提供服务的标准端口是)

大家好,如果您还对apache服务器的默认端口是不太了解,没有关系,今天就由本站为大家分享apache服务器的默认端口是的知识,包括apache服务器提供服务的标准端口是的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月14日 14:10

最近更新

广告推广app(常见的app推广方式)
2026-10-15 09:20:01 浏览:0
热刺vs马赛比赛(热刺赛程比分)
2026-10-15 09:10:01 浏览:0
热门文章

标签列表