- 博客(47)
- 资源 (1)
- 收藏
- 关注
原创 使用Python实现AES CBC加密的例子
如题,纯个人记录下,好记性不如烂笔头,方面下次查找。from Crypto.Cipher import AESimport hashlibimport base64#计算shadef get_sha256(text): return hashlib.sha256(text.encode('utf-8'))def aes256_cbc_encrypt(text, key, iv): ##CBC补齐16倍数,NoPadding方式 padding = lambda s
2022-03-23 17:50:37 5587
原创 使用OpenSSL库接口,实现AES CBC加密,基于X509 base64编码证书的RSA非对称加密例子
RSA加密的填充方式安全不一样,RSA算法PKCS1填充方式没有OAEP填充方式安全;同样的AES选择CBC模式更加安全。 网上看了好多例子,都没有RSA OAEP填充方式加密和AES CBC模式的例子。话不多说,直接上demo。#include <stdio.h>#include <string.h>#include <stdlib.h>#include <openssl/sha.h>#include <openssl/...
2021-03-31 22:56:24 754
转载 详解coredump
一,什么是coredump我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条件呢?下面会分析)会产生一个叫做core的文件。通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函数调用堆栈信息等,我们可以理解为是程序工作当前状态存储生成第一个文件,许多的程序出错的时候都会产生一个core文件,通过...
2020-06-16 18:13:33 279
转载 C compiler cannot create executables问题
今天在装advancemame游戏时遇到下面的问题,在网上搜索才知道是gcc没有装好,回想以前也有一些程序没有装好,是不是也是这个问题呢?于是试了一下以前一直没有装好的d4x,虽然现在熟悉了wget.虽然没有装上,不过情况有所好转,跟以前报的错误不同了,应该是能装了原因一:configure 过程中遇到C compiler cannot create executables的原因:gcc编译环境没用配好, 直接apt-get install gcc libc6-dev就可以解决原因二:可
2020-06-16 18:12:27 15064 2
转载 C语言实现的Web服务器
另一篇:标准C实现WEB服务器http://blog.sina.com.cn/s/blog_4b73e7600100b02c.html本文原文地址:http://blog.sina.com.cn/s/blog_4b73e760010007id.html自己研究了好几天终于写出来一个,哈哈,当然也从网上得到了很多的帮助拉。谢谢大家咯!这个版本还不是很完善,但Web服务器的基本框架已经出来了,还有部分的功能需要进行进一步的测试和修改。虽然说C的开发比较慢,对于程序员来说比较难以操作,但通过用...
2020-06-16 18:09:58 978
转载 VisualSVN Server + Tortoise SVN 使用教程(补充版)
1Visual SVN Server的使用修改者:Nancy编者按:本文是SVN中文网看到的文章,之后做了一些补充与修改,希望可以给大家提供更详细的信息。如果转载请注明出处。1.为什么要用VisualSVN Server,而不用Subversion?回答:因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为windws service,还要通过修改配置文件来控制用户权限,另外如果要想以Web方式【ht...
2020-06-16 18:07:48 412
转载 Linux环境下段错误的产生原因及调试方法小结
Linux环境下段错误的产生原因及调试方法小结本文转载自:http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多、花费时间最长的问题就是著名的“段错误”(Segmentation
2015-05-28 11:02:45 2818
翻译 linux top命令详解
名称:top 使用权限:所有使用者 使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] 说明:实时显示 process 的动态 参数: d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s q : 没有任何延迟的显示速
2014-07-24 21:18:53 660
原创 知识点积累~持续更新
setsockopt函数的方式设置Qos:int sockfd =socket(AF_INET, SOCK_DGRAM, 0);unsigned char service_type= dscpsetsockopt(sockfd,SOL_IP, IP_TOS, (void *)&service_type, sizeof(service_type));
2014-05-22 10:55:33 719
转载 针对TCP协议的攻击与检测、预防方法
Land 攻击通过发送源地址和目的地址相同,源端口和目的端口相同的ICMP echo 报文或TCP syn 请求报文,可以导致主机不断地向自己发送报文,最终导致系统崩溃。只要检查报文的源地址和目的地址是否相等、源端口和目的端口是否相等,就可以判断出是否为Land攻击。Syn Flooding利用TCP协议“三次握手”机制而发动的攻击。当Server(B)收到Client(A)的syn请
2014-05-15 17:06:36 5132
转载 编译安装glibc
本文转自百度空间:http://hi.baidu.com/756091339/item/83bf19820e5d61e8e596e0b7=========================分割线=========================首先从gnu官网下载最新版的glibc,地址http://www.gnu.org/software/libc/
2014-02-07 12:47:40 40195 2
原创 关于glibc编译及getaddrinfo内存泄漏问题
首先要确定所编译的glibc版本对GCC版本以及工具链as、ld的版本要求(更新binuitls)。---这些很多人有描述,通过网络查找。查找了一些资料,试过了很多个configure终于是编译通过了,如下:./glibc/configure \--build=i386-pc-linux-gnu \--host=arm-brcm-linux-gnueabi \--target=
2013-09-11 14:58:44 4313
翻译 linux下的http服务器
1.以下是我上一篇文字《linux下的http服务器代码》整理出来修改本地编译通过的代码:代码来源:本次转帖来源:http://www.cnblogs.com/xiaouisme/archive/2012/05/26/2519314.html/* code c, change the DEFAULTIP to your localhost IP*/#include #inclu
2012-12-03 12:01:38 8502
翻译 linux下的文件服务器
1.Linux下用C语言写的目录访问服务器,支持目录浏览和文件下载: /* code c, change the DEFAULTIP to your localhost IP*/#include #include #include #include #include #include #include #include #include #inclu
2012-12-03 11:52:30 478
转载 (转)linux下的http服务器代码
(转)linux下的http服务器代码本次转帖来源:http://www.cnblogs.com/xiaouisme/archive/2012/05/26/2519314.html/* code c, change the DEFAULTIP to your localhost IP*/ #include #include #include
2012-11-30 21:10:35 1286
原创 关于pcm音频头与a-law音频头的互换代码
在一个项目中有一个关于不同音频播放的问题,需要进行转换。今天突然要用到找了好久,觉得该代码蛮有意义的,记录下以免下次想用找不到。 /******************************************************************** fun
2011-07-08 16:14:36 8205 3
原创 工作中碰到的实用命令收集
eg:好记性不如烂笔头!!!发现有些老是要忘记。。。 1.设置时间: date -s "2011-06-20 18:13:14" date -s 062018132011.142.ftp下载至设备(android): busybox wget -O :@/">ftp://:@/; eg: busybox wget -O AH8_M
2011-06-20 18:34:00 737
转载 linux svn命令大全
linux svn命令大全编者按:本文是网上看到的文章,从新编辑下增加点印象,希望可以给大家提供更多的信息。如果转载请注明出处。出处:http://releasa.iteye.com/blog/621094 1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1
2011-06-14 10:50:00 571
转载 VisualSVN Server + Tortoise SVN 使用教程(补充版)
编者按:从新编辑下增加点印象。出处:http://blog.csdn.net/carry1314lele/archive/2010/12/16/6079868.aspx 1 Visual SVN Server的使用 修改者:Nancy编者按:本文是SVN中文网看到的文章,之后做了一些补充与修改,希望可以给大家提供更详细的信息。如果转载请注明出处。1.为什么要
2011-06-14 10:42:00 1393
原创 Error generating final archive: Debug Certificate expired on ******(时间)
<br />今天重装了Eclipse, 编译Android工程时(不管是以前正常的项目导入还是新建的),项目名称上打个小红叉。认真看了下错误提示为:Error generating final archive: Debug certificate expired on xxxxxx(日期)<br /><br />上网找的官方给的解决办法:<br /><br />To fix this problem, simply delete the debug.keystore file. The default st
2011-04-18 14:40:00 3019
转载 Multiple annotations found at this line: ---关于android string.xml %问题。
<br />本文来源于:hunter的博客(http://my.oschina.net/hunterXue/blog/15107)<br />Multiple annotations found at this line:<br /> - error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" <br /> attribute?<br
2011-04-18 14:12:00 12930
原创 关于写二进制文件多出“0D”的问题
<br />如下一个简单的程序:<br />#include <stdio.h>int main(int argc, char *argv[]){ FILE *fp; char buffer[5] = {0x01, 0x0a, 0x00, 0x00, 0x0a}; fp = fopen( "E:/my.dat ", "a+"); fwrite(buffer, sizeof(char), 6, fp); fclose(fp); return 0;} <br />运行完
2010-11-02 15:32:00 5405
原创 Linux下对U盘的分区与格式化
<br /> 项目系统要求的对U盘分区,分出系统盘与用户盘。这就有了今天的这个总结了:<br /> <br />1.输入命令“fdisk -l”查看设备挂载的位置,因为这个在设备挂载的时候有可能会发生变化。<br /> 假设设备挂载到了 /dev/sdc 需要对该设备进行分区<br />2.输入命令“fdisk /dev/sdc”进入分区功能:<br /> a.在此状态下输入“m”可以查看帮助<br /> b.在此状态下输入“d” 删除已经存在的分区,第一次可跳过,如果要重新分区就需
2010-06-29 11:56:00 20573
原创 android的数据库数据查看
<br />自己写是数据库存完后想看实际在数据库中存储的是什么,按下面的方法做吧!<br /> <br />1.先到到数据库存放目录:/data/data/对应的apk包名/databases<br />2.输入命令:<br />I.查看的数据库名:sqlite3 数据库名.db<br />在完成上面的I步骤后可以输入数据库相应的语法查看数据库数据,例如:<br />II.查看表的数据内容:select * from 表名;<br />III.查看的内容按表格显示:.explain on<br />IV.退
2010-06-26 18:14:00 1163
翻译 #pragma 预处理指令详解
<br />#Pragma 指令的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。<br /> <br />其格式一般为: #Pragma Para <br /> 其中Para 为参数,下面来看一些常用的参数。 <br /> (1)message 参数。 Message 参数能够在编译信息输出窗口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为: <br /> #Pragma message(“消息文本”) <br /> 当编译器遇到这条指令时就在编译输出窗口中将消息文本
2010-06-08 11:50:00 549
原创 android的重启(大部分是转载)
<br /> 前段时间有了个android的新项目,在做的过程中碰到一个问题,就是重启设备。<br /> 找了很多资料一直都不能正确的重启设备,直到看到这篇文章:http://topic.csdn.net/u/20100423/15/34a5ca3d-df13-4056-8e62-55f6c4c5e412.html<br /> <br /> 结合这篇文章我是这样做到重启的:<br />1.在AndroidManifest.xml中添加权限:android:sharedUserI
2010-06-03 11:13:00 6071
原创 测试程序运行耗时(毫秒级的)---感觉蛮有意思的
<br /> 最近的一个项目中用到了多进程,在和另外一个同事的进程间进行通信的时候会超时,需要测试在调用接口中的耗时。很少碰到这种需求,写下来留个纪念:)。<br /> <br />源码:<br /> struct timeval tv1, tv2; int lost_time = 0; gettimeofday(&tv1, NULL); //。。。。(程序运行中。。。。) gettimeofday(&tv2, NULL); if (
2010-06-03 10:32:00 1548
原创 项目经验总结---养成良好习惯!
<br />好久没有写博客了:)<br /> <br /> 最近的项目产品出现了一个不小不大的bug,写下心得体会来告诫自己吧!<br /> <br /> 问题出在一个项目产品是多国语言的,在前期开发的时候没有注意到这一方面。因此在开发过程中很多的ui都使用了固定一种语言;而没有采取一个宏定义的方式在做,或者说一个统一的接口来获取这个会根据不同语言改变不同ui显示的情况。因此在最终的产品出现了问题了,用户在使用中改变语言后会有部分的ui显示出了其它国家的语言。<br /> 这次
2010-06-03 10:21:00 635
转载 Linux下Makefile的automake生成全攻略
Linux下Makefile的automake生成全攻略 作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。 在本文中,将给大家介绍如何使用autoconf和automake两个工
2008-11-19 18:43:00 856
翻译 DOS命令之attrib
今天想把一个重要文件改成系统隐藏文件,避免被别人不小心意外删除。上网找了下,关于attrib命令的使用。收藏,以备以后查询:(文章内容来源于baidu知道,做了稍微的修改。) 1.关于attrib命令用途:显示、设置或删除指派给文件或目录的只读、存档、系统以及隐藏属性。语法:attrib [{+r | -r}] [{+a | -a}] [{+s | -s}] [{+h | -h
2008-09-30 13:24:00 1653
转载 Linux下的多线程编程(例子、线程属性修改)
Linux下的多线程编程1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程
2008-09-27 08:49:00 2696
转载 linux vi的一些命令
从网络上收集了一些命令,贴出来收藏。===========================================================================================在 vi 中替换字符串:(http://www.heysky.net/archives/2007/07/how_to_replace_in_vi.html) vi/vim 中可以使
2008-09-26 16:41:00 1139
原创 常见内存错误
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Font
2008-09-26 16:40:00 624
原创 碰到linux问题总结
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Font
2008-09-26 16:38:00 491
原创 IP串与网络系列号的转化
IP串与网络系列号的转化,代码://IP串与网络系列号的转化#include #include #include #include #include int main(int argc, char **argv){ char str[]="172.16.10.196";// char str1[16]; struct in_addr myin; int ret = 1; unsigned long
2008-09-26 16:36:00 686
原创 C语言关于文件处理函数
C语言关于文件处理函数(包括获取文件大小、判断文件是否存在、删除、获取文件数目、文件排序、剩余空间等)代码:#include #include #include #include #include #include typedef unsigned int uint32;typedef int int32;typedef unsigned char uint8;typedef
2008-09-26 16:23:00 1407
原创 将图读成数组保存(也可以是普通文件)
以前写的代码,后面发现还挺实用的:),贴出来保存。#include #include #include int main(int argc ,char *argv[]){ FILE *fpin = NULL; FILE *fpout = NULL; if(argc != 3)//参数顺序:可执行文件 图文件名 待写入文件名 { print
2008-09-26 16:16:00 752
原创 一个关于linux socket的简单例子
下面的例子是客户端向服务端发送数据,并且保存数据,对收到数据进行处理的例子。客户端:dl_client.c#include "unp.h"int main(int argc,char *argv[]) { char recvbuff[50],buff[50],*p; int sockfd,len,ret,test; struct sockaddr_in serveraddr;
2008-09-26 16:03:00 5517
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人