首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    encrypt函数_crypt12

    Crypt()函数 crypt()函数返回使用DES、Blowfish或MD5算法加密的字符串。在不同的操作系统上,crypt()函数的行为不同,某些操作系统支持一种以上的算法类型。 crypt()函数的语法: string crypt(string str[,string salt]); 参数str:必需。是需要加密的字符串。 参数salt:可选。 crypt()函数的算法: [CRYPT_SALT_LENGTH] 默认的加密长度。 在盐值中使用非法的字符将导致 crypt() 失败。 [CRYPT_EXT_DES] 扩展的基于 DES 算法的散列。 在盐值中使用非法的字符将导致 crypt() 失败。 [CRYPT_MD5] MD5 散列使用一个以 $1$ 开始的 12 字符的字符串盐值。

    92410编辑于 2022-09-20
  • 来自专栏python3

    在 python3.x中安装 Crypt

    1.0 安装: 直接找过来 whl 安装:https://pan.baidu.com/s/1ZYQp4Knwk-Bcr9hmx9IPyA pip安装:pip install pycrypto-2.6.1-cp36-cp36m-win_amd64.whl

    2K20发布于 2020-01-20
  • 来自专栏从零开始学自动化测试

    Flask 学习-24.用户注册(sha256_crypt对密码加密)

    User表 先设计注册表 from . import db from passlib.hash import sha256_crypt class Users(db.Model): __tablename nullable=True) def hash_password(self, password): """密码加密""" self.password = sha256_crypt.encrypt (password) def verify_password(self, password): """校验密码""" return sha256_crypt.verify

    1.1K20编辑于 2022-09-06
  • 来自专栏python-爬虫

    python实现sm2和sm4国密(国家商用密码)算法

    类型 random_hex_str = func.random_hex(sm2_crypt.para_len) sign = sm2_crypt.sign(data, random_hex_str) # = CryptSM4() 2. encrypt_ecb和decrypt_ecb crypt_sm4.set_key(key, SM4_ENCRYPT) encrypt_value = crypt_sm4 .crypt_ecb(value) # bytes类型 crypt_sm4.set_key(key, SM4_DECRYPT) decrypt_value = crypt_sm4.crypt_ecb( key, SM4_ENCRYPT) encrypt_value = crypt_sm4.crypt_cbc(iv , value) # bytes类型 crypt_sm4.set_key(key, SM4 _DECRYPT) decrypt_value = crypt_sm4.crypt_cbc(iv , encrypt_value) # bytes类型 assert value == decrypt_value

    8.2K20发布于 2020-09-10
  • 来自专栏冷影玺

    网络系统管理Linux环境——AppSrv之磁盘加密

    映射到/dev/mapper/crypt 分区上; 格式化成 ext4 分区; 挂载到/mut/crypt 目录; 配置开机自动挂载; 项目实施: 注意:加密后不能直接挂载 加密后硬盘丢失也不用担心数据被盗 root@lyx ~]# cryptsetup luksFormat /dev/sdb 映射分区: #打开进行映射 [root@lyx ~]# cryptsetup luksOpen /dev/sdb crypt 1 crw-------. 1 root root 10, 236 12月 15 14:45 control lrwxrwxrwx. 1 root root 7 12月 15 14:52 crypt /dm-2 [root@lyx ~]# 格式化映射: [root@lyx ~]# mkfs.ext4 /dev/mapper/crypt mke2fs 1.42.9 (28-Dec-2013) 文件系统标签 -p 配置挂载文件: [root@lyx ~]# echo '/dev/mapper/crypt /mut/crypt ext4 defaults 0 0' >> /etc/fstab 永久挂载: [

    53710编辑于 2024-09-14
  • 来自专栏python前行者

    [1326]python国密gmssl

    类型 random_hex_str = func.random_hex(sm2_crypt.para_len) sign = sm2_crypt.sign(data, random_hex_str) # 2. encrypt_ecb和decrypt_ecb crypt_sm4.set_key(key, SM4_ENCRYPT) encrypt_value = crypt_sm4.crypt_ecb(value ) # bytes类型 crypt_sm4.set_key(key, SM4_DECRYPT) decrypt_value = crypt_sm4.crypt_ecb(encrypt_value) # ) encrypt_value = crypt_sm4.crypt_cbc(iv , value) # bytes类型 crypt_sm4.set_key(key, SM4_DECRYPT) decrypt_value = crypt_sm4.crypt_cbc(iv , encrypt_value) # bytes类型 assert value == decrypt_value

    63410编辑于 2025-07-17
  • 来自专栏python3

    利用Python 生成hash值

    在Python中可以利用二个模块来进行: - crypt - hashlib 二、crypt (一)crypt的主要方法和常量 名称 类型 描述 crypt(…) 方法 对指定内容进行hash加密 返回可用加密算法的列表 METHOD_MD5 常量 md5加密算法 METHOD_SHA256 常量 sha256加密算法 METHOD_SHA512 常量 sha512加密算法 (二)使用说明与示例 使用crypt.crypt (…)进行hash加密的时候,需要提供二个参数: - 加密内容 - salt 如果不特别指定salt,系统就会调用crypt.mksalt(…)生成一个salt 如果想要以特定的加密算法生成salt 就应该使用下面的命令: >>>salt = crypt.mksalt(crypt.METHOD_SHA512) >>> salt '$6$s8Q3eNP6urKZb3AK' 然后再进行数据加密: >>> hash = crypt.crypt("helloworld",salt) >>> hash '$6$s8Q3eNP6urKZb3AK$L0O5cqHRU.1f170bV2KrjF3LkLL54So442TqUIsk.wYtCtOSD4Tyt

    1.5K10发布于 2020-01-10
  • 来自专栏加菲猫的VFP

    VFP调用WIN32API 实现BASE64加密

    代码如下: #DEFINE CRYPT_STRING_BASE64 0x0001 #DEFINE CRYPT_STRING_NOCRLF 0x40000000 #DEFINE CRYPT_STRING_NOCR cDecoded * end of main FUNCTION ToBase64(cSrc) LOCAL nFlags, nBufsize, cDst nFlags=CRYPT_STRING_BASE64 RETURN "" ENDIF RETURN cDst FUNCTION FromBase64(cSrc) LOCAL nFlags, nBufsize, cDst nFlags=CRYPT_STRING_BASE64 = 0 RETURN "" ENDIF RETURN m.cDst PROCEDURE declare DECLARE INTEGER CryptBinaryToString IN Crypt32 cbBinary, LONG dwFlags,; STRING @pszString, LONG @pcchString DECLARE INTEGER CryptStringToBinary IN crypt32

    37310编辑于 2023-08-21
  • 来自专栏PostgreSQL研究与原理解析

    PostgreSQL用户密码如何通过md5加密存储,是否加了salt

    password); |-- pg_md5_encrypt(password, role, strlen(role),encrypted_password); | |-- memcpy(crypt_buf , passwd, passwd_len); | | memcpy(crypt_buf + passwd_len, role, strlen(role)); | | strcpy(buf crypt_buf) (gdb) 339 memcpy(crypt_buf, passwd, passwd_len); (gdb) 340 memcpy(crypt_buf + passwd_len ) p crypt_buf $2 = 0x9979e68 "123456yzsנ\tQ" (gdb) n 343 ret = pg_md5_hash(crypt_buf, passwd_len + salt_len, buf + 3); (gdb) p crypt_buf $3 = 0x9979e68 "123456yzsנ\tQ" (gdb) n 345 free(crypt_buf);

    2.1K30编辑于 2022-03-29
  • 来自专栏V站

    PHP中的MD5加密

    PHP提供了crypt()函数完成加密功能: string crypt (string input_string [, string salt]) 这一函数完成被称作单向加密的功能,也就是说,它可以加密一些明码 CRYPT_SALT_LENGTH; crypt()支持四种算法,下面是它支持的算法和相应的salt参数的长度: [注:以下用表格] 算法 Salt长度 CRYPT_STD_DES 2-character (默认) CRYPT_EXT_DES 9-character CRYPT_MD5 12-character beginning with $1$ CRYPT_BLOWFISH 16-character 我们用crypt()实现用户身份验证。比如我们用一段PHP程序限制对一个目录的访问,只允许注册用户访问这一目录。 MySQL 中 crypt()和Apache的口令-应答验证系统的应用 <?

    6.1K50发布于 2018-06-10
  • 来自专栏林德熙的博客

    dotnet 6 在 Win7 系统证书链错误导致 HttpWebRequest 内存泄露

    LocalAlloc+0x0000005f 76424b84 CRYPT32!PkiAlloc+0x00000032 764516b3 CRYPT32! LocalAlloc+0x0000005f 76424b84 CRYPT32!PkiAlloc+0x00000032 764516b3 CRYPT32! LocalAlloc+0x0000005f 76424b84 CRYPT32!PkiAlloc+0x00000032 764516b3 CRYPT32! ,似乎 CRYPT32.dll 这个系统组件就是有锅的。 而且 CRYPT32.dll 就是处理证书相关的逻辑。

    1.5K20编辑于 2022-08-12
  • 来自专栏云云众生s

    Bcrypt 和密码哈希简史

    Crypt 是 Unix 的哈希函数。 Robert Morris 在 Unix 的第六版中发布了 CryptCrypt 基于 Hagelin 密码机(M-209)。Crypt 从未没有问题。 开发人员在第七版中重新发布了 Crypt ,加入了 12bit salt,并采用迭代的数据加密标准(DES)密码算法来从用户的密码创建哈希。 尽管 Crypt 当时是具有开创性的,但它最终变得过时。 Bcrypt 1997 年的密码哈希已经不再足够。互联网开始腾飞,家用计算机房间随处可见,数据泄露也随之而来。 1978年:PDP-11/70(模拟 M-209 的 crypt )→ 800个密码/秒 1988年:VAX 8600(优化的 des-crypt ,用于 Morris-worm )→ 45个密码/秒 1994年:60MHz Pentium(基于 MD5 的 crypt )→ 29.41 个密码/秒 1999年:John the Ripper(基于位切片的 DES-crypt )→ 214,000 个密码

    67910编辑于 2024-03-27
  • 来自专栏运维研习社

    你的nginx登录认证安全吗?

    从上面两张图可以看到htpasswd总共有4种加密算法,分别是MD5、bcrypt、CRYPT、SHA,在httpd-tools 2.2的版本中,默认使用的是CRYPT加密算法来进行密码加密的,而httpd-tools 2.4的版本中,默认是使用MD5来进行密码加密的 我上面的问题就是出在低版本中,使用CRYPT默认加密的情况下发生的 crypt是一个加密算法函数,它是基于DES算法,将字符串加密,函数定义如下: char *crypt(const char *key, const char *salt); crypt在加密时,将key所指的字符串仅取前8个字符进行加密,超过8位的没有任何意义,这也就是为什么我上面最后一位输错了仍然可以进入 web页面的原因,因为指认前8位,后面是什么无所谓,都可以认证通过 crypt加密后的密文为13位,前面两个就是上面函数定义中的salt代表的字符串 然后有人说明明SHA比MD5加密要安全性高,为什么新版本中用

    2.8K20发布于 2020-06-15
  • 来自专栏我的独立博客

    Mysql身份认证过程

    password string) []byte { if len(password) == 0 { return nil } // stage1Hash = SHA1(password) crypt := sha1.New() crypt.Write([]byte(password)) stage1 := crypt.Sum(nil) // scrambleHash = SHA1(scramble + SHA1(stage1Hash)) // inner Hash crypt.Reset() crypt.Write(stage1) hash := crypt.Sum(nil) // outer Hash crypt.Reset() crypt.Write(scramble) crypt.Write(hash) scramble = crypt.Sum(nil) // token

    1.6K00编辑于 2025-01-11
  • 来自专栏鸿鹄实验室

    利用DPAPI加密shellcode

    desktop/legacy/aa381414(v=vs.85) typedef struct _CRYPTOAPI_BLOB { DWORD cbData; BYTE *pbData; } CRYPT_INTEGER_BLOB , *PCRYPT_INTEGER_BLOB, CRYPT_UINT_BLOB, *PCRYPT_UINT_BLOB, CRYPT_OBJID_BLOB, *PCRYPT_OBJID_BLOB, CERT_NAME_BLOB PCERT_NAME_BLOB, *PCERT_RDN_VALUE_BLOB, CERT_BLOB, *PCERT_BLOB, CRL_BLOB, *PCRL_BLOB, DATA_BLOB, *PDATA_BLOB, CRYPT_DATA_BLOB , *PCRYPT_DATA_BLOB, CRYPT_HASH_BLOB, *PCRYPT_HASH_BLOB, CRYPT_DIGEST_BLOB, *PCRYPT_DIGEST_BLOB, CRYPT_DER_BLOB , PCRYPT_DER_BLOB, CRYPT_ATTR_BLOB, *PCRYPT_ATTR_BLOB; cbData为大小、pbData为数据。

    96510发布于 2021-10-12
  • 来自专栏跟着阿笨一起玩NET

    推荐+1置顶+1(分享、讨论、实现) 通用软件注册功能之建立有效的软件保护机制

    { 6 return; 7 } 8 9 RSACryptoServiceProvider crypt = new RSACryptoServiceProvider(); 10 11 string publicKey = crypt.ToXmlString(true ); 12 string privateKey = crypt.ToXmlString(false); 13 crypt.Clear(); 14 15 41 RSACryptoServiceProvider crypt = new RSACryptoServiceProvider(); 42 43 crypt.FromXmlString 15 RSACryptoServiceProvider crypt = new RSACryptoServiceProvider(); 16 crypt.FromXmlString

    72910发布于 2018-09-19
  • 来自专栏10km的专栏

    cmake: MinGW编译时为httplib.h增加连接库支持

    所以在连接时需要参照httplib.h中对MSVC的库依赖,添加ws2_32,crypt32,cryptui几个库的 #ifdef _MSC_VER #pragma comment(lib, "ws2_ 32.lib") #pragma comment(lib, "crypt32.lib") #pragma comment(lib, "cryptui.lib") #endif 如果你的项目是用CMake 构建,可以如下对target添加ws2_32,crypt32,cryptui库依赖 target_link_libraries(${YOUR_TAREGET} # MINGW 连接库支持 $<$< BOOL:${MINGW}>:ws2_32> $<$<BOOL:${MINGW}>:crypt32> $<$<BOOL:${MINGW}>:cryptui> ) # MINGW 为CMake 内置的变量用于检测当前编译器是否为

    75520编辑于 2022-04-13
  • 来自专栏PHP在线

    PHP处理密码的几种方式

    php function generateHash($password) { if (defined("CRYPT_BLOWFISH") && CRYPT_BLOWFISH) { $salt = '$2y$11$' . substr(md5(uniqid(rand(), true)), 0, 22); return crypt($password, $salt); } } Bcrypt 其实就是Blowfish和crypt()函数的结合,我们这里通过CRYPT_BLOWFISH判断Blowfish是否可用,然后像上面一样生成一个盐值,不过这里需要注意的是 ,crypt()的盐值必须以2a或者2y开头,详细资料可以参考下面的链接: http://www.php.net/security/crypt_blowfish.php 更多资料可以看这里: http: //php.net/manual/en/function.crypt.php Password Hashing API 这里才是我们的重头戏,Password Hashing API是PHP 5.5之后才有的新特性

    1.6K40发布于 2018-07-27
  • 来自专栏python3

    python----RSA非对称加密算法

    file_pri: f_pri =file_pri.read() prikey = rsa.PrivateKey.load_pkcs1(f_pri) #加密字符串string crypt = rsa.encryt(string.encode('utf-8'),pubkey)#使用公钥去加密字符串 #解密 de_crypt = rsa.decrypt(crypt,prikey)#用私钥去解密 #解出来的de_crypt与string应该是相等的,判断一下 assert string,de_crypt 这样应该比较清楚怎么使用了,怎么加密,怎么解密。

    1.3K41发布于 2020-01-10
  • 来自专栏火丁笔记

    记录Viper加载远程配置填坑过程

    究其原因,是因为 viper 依赖 crypt,而 crypt 截至目前还不支持新版 etcd 的 api。 viper 使用 crypt 做什么呢? 在文档中可以找到如下描述: Viper uses crypt to retrieve configuration from the K/V store, which means that you can 也就是说,KV 中可以存储加密的数据,viper 在获取的时候通过 crypt 自动解密。 的 Watch 实现在每次调用的时候都会生成一个新的 goroutine,并且无法退出,于是乎 goroutine 的数量就失控了,因为问题出在 crypt 身上,viper 无法根治,为了掩盖此问题 了解了前因后果之后,我决定跳过 crypt,自己实现加载远程配置的功能,其实就是实现 viper 中的 remoteConfigFactory 接口: type remoteConfigFactory

    88330编辑于 2021-12-14
领券