linux crypt函数位置,Linuc C加密函数crypt()
crypt()函数可以加密8个字节的数据,提供2字节的扰码,返回一个指向13个ASCII字符串的指针。
#include "crypt.h" //
没有此行每次计算crypt()都会返回不同的int值
#include "unistd.h"
char *crypt(const char *key, const char
*salt);
写个名为“des.c”的测试crypt()函数的文件,内容如下:
#include "stdio.h"
#include "crypt.h"
// crypt() will return
different int without this line
#include
"unistd.h"
int main()
{
printf(" * DES(%s) = %s\n", "test",
crypt("test", "test"));
return 0;
}
编译并测试:
qige@ubuntu:~$ gcc -o des
des.c -lcrypt
qige@ubuntu:~$
./des
*
DES(test) = teH0wLIpW0gyQ
qige@ubuntu:~$
改进后的“des.c”文件内容:
#include
"stdio.h"
#include
"string.h"
#include
"crypt.h"
#include
"unistd.h"
typedef unsigned char
uchar;
typedef unsigned int
uint;
void print_cli_help(char
*self);
int main()
{
uint _c, _help = 0;
uchar key[8] = { 0 }, salt[2] = { 0 },
passwd[13] = { 0 };
while((_c = getopt(argc, argv, "s:h")) != -1)
{
switch(_c)
{
case 's':
snprintf(key, sizeof(key), "%s",
optarg);
salt[0] = key[0]; salt[1] = key[1];
break;
case 'h':
default:
_help = 1;
break;
}
}
if (_help > 0 || argc
<= 1) {
print_cli_help(argv[0]);
return
0;
}
printf(" * DES(%s) = %s\n", key, crypt(key,
salt));
return 0;
}
void print_cli_help(char
*self)
{
printf("Compile: gcc -o %s *.c\n",
self);
printf(" Usage: %s [ -k
key_string] [-h]\n", self);
printf(" Typical: %s -s test\n",
self);
}
编译Makefile文件,内容如下(使用时请务必将“gcc”和“rm”前的4个空格替换为一个Tab,即“\t”):
# Qige @
2015.12.01
all: des
des: *.c
gcc -o $@ $^ -lcrypt
clean:
rm -f des
编译并测试:
qige@ubuntu:~$ make
qige@ubuntu:~$ ./des -s test
* DES(test) =
teH0wLIpW0gyQ
qige@ubuntu:~$ ./des -h
Compile: gcc -o ./des *.c
Usage: ./des [-k string]
[-h]
Typical: ./des -s test
qige@ubuntu:~$
linux crypt函数位置,Linuc C加密函数crypt()相关推荐
- php中md5加密函数怎么用,PHP加密函数—md5()函数加密实例用法
PHP加密函数-md5()函数加密 什么是MD5()函数? MD5()函数是计算器字符串的 MD5散列值,使用MD5的算法,MD5的全称是Message-Digest Algorithm 5,它的作用 ...
- php rc4对称加密函数,为什么php rc4加密函数的执行结果是乱码?
php rc4加密函数的执行结果乱码是因为RC4是二进制加密算法,而密文是无法直接当作文本查看的,可以用base64对它编码即可解决乱码问题. 为什么php rc4加密函数的执行结果是乱码? 以下是执 ...
- PHP加密函数与解密函数详解
本篇文章主要为大家详细介绍了PHP中的加密函数与解密函数 Php常用的加密函数有 MD5加密(不可逆).Crypt加密(不可逆).Sha1加密(不可逆).Urlencode加密(可逆) base64编 ...
- php中md5加密函数怎么用,php中md5()函数的定义和用法汇总
PHP加密函数-md5()函数加密什么是MD5()函数?MD5()函数是计算器字符串的 MD5散列值,使用MD5的算法,MD5的全称是Message-Digest Algorithm 5,它的作用是把 ...
- 【Android 逆向】函数拦截实例 ( 函数拦截流程 | ① 定位动态库及函数位置 )
文章目录 一.函数拦截流程 二.定位动态库及函数位置 一.函数拦截流程 函数拦截流程 : 定位动态库及函数位置 : 获取该动态库在内存中的位置 , 以便于 查找函数位置 ; 插桩 : 在函数的入口处插 ...
- encrypt函数c语言,Crypt加密函数简介(C语言)
定义函数 char * crypt (const char *key,const char * salt); 函数说明 crypt是个密码加密函数,它是基于Data Encryption Standa ...
- crypt密码加密函数的基本用法
定义函数 char * crypt (const char *key,const char * salt); 函数说明 crypt是个密码加密函数,它是基于Data Encryption Standa ...
- php crypt,PHP加密函数—crypt()函数加密用法实例
PHP加密函数-crypt()函数加密 在介绍加密函数之前,我们先来介绍一下数据加密原理:就是对原来的明文件或者数据按照某种算法进行处理,使其成为不可读的一段代码,通常称之为"密文" ...
- php md5 64,php加密函数md5,crypt,base64_encode的用法介绍
介绍下php中自带的加密函数 1,不可逆的加密函数为:md5().crypt() md5() 用来计算 MD5 哈稀.语法为:string md5(string str); crypt() 将字符串用 ...
最新文章
- 不填写内容用哪个斜杠代替_越来越多人衣柜不装移门,今后都流行用这种代替,好看又不占地!...
- 2019年宁夏文化科技卫生“三下乡”集中示范活动启动
- 【二叉树详解】二叉树的创建、遍历、查找以及删除等-数据结构05
- 盘点智能语音行业:Nuance没落 BAT围绕核心业务
- 【Android游戏开发十四】深入Animation,在SurfaceView中照样使用Android—Tween Animation!...
- 业界首发|阿里云重磅发布云原生架构白皮书
- Java成员变量和局部变量的区别
- SAP CRM WebClient UI根据扩展字段搜索出结果的实现原理
- java 优酷视频缩略图_java获取优酷等视频缩略图
- C++表白代码---一颗心
- 平凡函数依赖是什么?
- PDE34 Transport equation: derivation general solution
- java nio空轮循_Java nio 空轮询bug到底是什么
- Selenium2(WebDriver)总结(一)---启动浏览器、设置profile加载插件
- rpgmakermv存档修改网站_NexT 网站配置——雏形初成
- 代码审查工具 rietveld的安装与使用(二)
- 干货 | 什么是ABCDE轮融资?
- ios 模拟器沙盒_查看iOS模拟器应用的沙箱文件
- 太平洋电信分享如何“构建敏捷网络,共筑网络安全防护带”
- 51中断优先级及中断嵌套
热门文章
- 为什么苹果原装数据线容易破皮?怎么解决苹果数据线损坏问题
- JQuery获取iframe中window对象方法.contentWindow
- element-ui日期选择器el-date-picker, 案例:填写有效期和选择开始时间后, 自动生成结束时间, datetime时间转换
- puppet和saltstack 对比
- VC++生成Data-Matrix格式的二维码
- 树莓派+python:音乐播放与控制功能
- 同居生子,孩子的抚养费问题?
- chrome浏览器加快下载速度方法
- 对敏感词过滤(DFA算法)的思考与理解
- 对一个java源文件进行正确编译,给定如下一个Java源文件Child.java,编译并运行Child.java,以下结果正确...