c语言图像加密
❶ 请教 ".imsq"
兄台,对不住了,我找了一个上午都没有找到什么头绪!
呵呵。。。。
不过我看了一些文章,你所说的“imsq”的后缀文件名,是不是电信用用的一种网络形式,应该跟最新电信开发的一种IMS网络结构有关系吧,小弟孤陋寡闻,实在是找不到关于此问题的答案,我会进一步去为你查找的,,我一定要找个所以然来。。。。waiting for me
❷ 图片的格式gif,jfp,bpm……这些都指的是什么啊……还有什么其他格式没……请帮我解释仔细点,跪谢了……
GIF是Graphics Interchange Format的缩写,即为图形交换格式,以这种格式存在的文件扩展名为.gif
JPEG 一种图像格式,支持高程度的压缩
BMP是bitmap的缩写,即为位图图片。位图图片是用一种称作“像素”的单位存贮图像信息的。这些“像素”其实就是一些整齐排列的彩色(或黑白)点,如果这些点被慢慢放大,您就会看到一个个的“像素”中添充着自己的颜色,这些“像素”整齐地排列起来,就成为了一幅BMP图片,并以.bmp(.rle,.dib等)为扩展名。
文件后缀名大全(新手必看)
什么是文件名后缀 说起来Windows工作界面下的文件名简直是随心所欲,比如:某编辑部的2000年工作计划。文件名即可用中文直接表达,而且长度最长可达256个字符,让人看起来真是一目了然。然而在Windows环境中,安装的软件中却大量存在着类似CALENDAR.EXE、GAMES.GRP等等的文件名,这又是为什么呢?原来这些文件名都是根据DOS环境的文件名命名规则而定的。 DOS环境下的文件名 在DOS下,文件名采用8+3结构,即:最长8位的文件名,由小数点分隔后再跟上最长3位的后缀名,如:READ.ME、SETUP.EXE,一般情况下文件名不允许使用汉字,只能由字母、数字和一些符号组成。如READ.ME用中文理解就是“读我”,即提示用户在使用软件前先看看这个文件的内容,以获取更多的提示信息。而更重要的是,DOS下规定用后缀名来区分各种不同的文件。 在DOS下最容易遇到的首先是可执行文件,后缀名有两类:*.exe、*.com(此处的*表示文件名任意),它们是由汇编语言或其它高级语言编出的程序经过编译后直接在DOS下运行的文件。有时由于软件功能多、内存偏小,不能一次性全部调入内存还可能有同文件名的ovl文件,如ws.exe、ws.ovl。另外还有一种文件可以直接运行,*.bat,即批处理文件,其中有许多命令或可执行文件名,主要用于提高工作效率,其中最有用的是Autoexec.bat,这个文件在开机时会被自动执行(自动执行在英文中就是Automatically execute)。而另外一种可以加载但不能直接运行的文件即是系统扩展管理文件*.sys(sys即系统system),它主要提供某些非标准设备如鼠标、扩充内存等的驱动程序,如mouse.sys、himem.sys。为了统一管理还专门规定了一个config.sys的文本文件来一次性地在开机时自动调入这些必需的设备驱动程序,这些文件一旦被误删或换名或被病毒侵袭则将直接导致系统工作不正常。 DOS下字处理产生的文件原本是可以不用后缀的,但人们常用*.txt表示(txt即文本text)。被所有的平台和所有应用程序支持。而为了管理方便,人们也可以用自己的名字做后缀来表示是自己建的文本文件,如我输入的很多文章即为*.mcj,为了便于用户在意外删掉原文件的情况下能尽快恢复原文件,许多字处理系统都提供了一种自动备份的功能,如我第二次编辑JIHUA.MCJ时(JIHUA:计划的汉语拼音),系统会先拷贝一份原文件为JIHUA.BAK。使用具有特殊格式功能的字处理软件,如求伯君先生早年推出的WPS,就会规定其后缀为.wps,用以标识是用WPS生成的文本文件。当使用字处理软件编辑高级语言程序时,后缀通常为相应语言的前三个字母(如:*.BAS即BASIc语言源程序,*.PAS为PASCAL语言程序,*.FOR为Fortran语言程序,*.C即为C语言,*.ASM即为汇编语言程序)。 伴随着可执行文件常附有以下几类文件:*.HLP即帮助文件(help)、*.CFG即配置文件(config)、*.DAT即数据文件(data)、*.LOG即日志文件(log)、*.TMP为临时文件(temporal)。
二 图像文件: bmp Windows or OS/2 Bitmap clp Windows Clipboard cup Dr. Halo dib Windows or OS/2 DIB emf Windows Enhanced meta file eps Encapsulated Postscript fpx Flash Pix gif Compuserver iff Amiga img GEM Paint jpg JPEG - JFIF Compliant lbm Deluxe Paint mac Mac Paint msp Macrosoft Paint pbm Potable Bitmap pct Macintosh Pict pcx Zsoft Paintbrush pic PC Paint png Portable Network Graphics ppm Portable Pixelmap psd Photoshop psp Paint Shop Pro Image ras Sun Raster Image raw Eaw File format rle Windows or CompuServer RLE sct SciTex Continuous Tone tga Truevision Targa tif Tagged Image file format wmf Windows meta File wpg WordPefect Bitmap 扩展名 文件类型 打开方式 .aiff 声音文件 Windows media Player .!!! Netants 暂存文件 Netants .ani 动画鼠标 .arj 压缩文件 ARJ .avi 电影文件 Windows media Player .awd 传真文档 .bak 备份文件 .bas Basic 语言 Basic .bat DOS批处理文件 .bin MAC 二进制码文件 Stuffit Expander .bmp 图象文件 画图/看图软件 .cab 压缩文件 Winzip .cdr Corel图画文件 Corel Draw .chk Scandisk检察后制作的文件 可以删掉 .com DOS命令文件 自执行 .cpx Cryptapix加密图片文件 Cryptapix .cur 静态鼠标 .dbf 数据库文件 dBase, FoxBase, Access .dll 应用程序扩展 .doc 文档文件 Word .dwg AutoCAD文件 AutoCAD .eps Illustrator 图画文件 Adobe Illustrator .exe 执行文件 自执行 .fon 字体文件 .gb 国标码文件 南极星文字处理 .get Getright 暂存文件 .gif 256色图象文件 画图/看图软件 .gz 可供UNIX或LINUX使用的压缩文件 Winzip .hqx Macintosh 文件 Stuffit Expander .htm 网页 浏览器 .html 网页 浏览器 .ico 图标 .ini 配置设置 笔记本或WordPad .ipx IPX演示文件 浏览器加装IPX 插件 .jiff 图象文件 画图/看图软件 .jpeg 压缩过的图象文件 画图/看图软件 .jpg 压缩过的图象文件 画图/看图软件 .js javascript .lnk 快捷方式连接文件 连接文件的相应程序 .m3u Winamp播放列表 Winamp .mid 声音文件 Windows media Player .mov Quicktime影像文件 Quick Time .mp3 压缩音乐文件 Winamp .mpeg 影像 Windows media Player .mpg 影像 Windows media Player .njx 南极星文档 南极星文字处理 .pcb 电子电路图设计文件 Protel PCB .pdf 便携式文档格式,内含图片文字等等 Adobe Acrobat, Adobe Acrobat Reader .pm5 PageMaker 5 排版文件 Page Maker .ppt Power Point 文件 Microsoft Power Point .ps Ghostscript .psd Photoshop文件 Adobe Photoshop .pub Publisher排版文件 Microsoft Publisher .qt Quicktime影像文件 Quick Time .ra Real Audio声音文件 Real Audio .ram Real Audio影像文件 Real Audio .rar 压缩文件 Winrar .rsf Richwin 字体文件 .sch 电子原理图设计文件 Protel Schematic .scr 屏保文件 .sea Macintosh 启动文件 .sit 压缩 Stuffit Expander .swf Flash动画文件 浏览器加装Macromedia flash 插件 .sys 系统文件 .tar UNIX压缩文件 Winzip .tif 高质量图象文件 画图/看图软件 .tiff 高质量图象文件 画图/看图软件 .tmp 暂存文件 可以删掉 .ttf 字体文件 .txt 纯文本文件 笔记本或全部文字处理系统 .vbs Visual Basic 编程文件 Microsoft Viasual Basic .viv VIVO影像文件 浏览器加装VIVO 插件 .vqf 压缩声音文件 Yamaha SoundVQ Player .wav 未压缩的声音文件 Windows media Player .wk1 Lotus 123 试算软件文件 Lotus 123, Excel .wq1 Q-Pro 试算软件文件 Q-Pro, Excel .wri Write文字文档 Word .xls Excel 试算软件文件 Microsoft Excel .Z UNIX压缩文件 Winzip .zip 压缩文件 Winzip C1iIvbe
数据库类文件的后缀名 onfcFJ18E4 uYLYBiJVuyK 在Dbase、FoxBase、Foxpro系列软件的环境下有以下几类后缀: onfcFJ18E4.dbf 数据库文件(databasefile) .prg 命令文件(即程序Program) onfcFJ18E4.fxp 编译后的程序 .scx和.sct 屏幕文件 onfcFJ18E4.fpt 备注字段文件 .frx和.frt 报表文件 onfcFJ18E4.cbx和.pjt 标签文件 .mnx 和.mnt 菜单文件 onfcFJ18E4.pjx和.pjt 工程文件 .app 应用文件 onfcFJ18E4.cdx和.idx 索引文件 .qpr和.qpx SQL查询文件 onfcFJ18E4.fp 配置文件 .ap 生成应用 onfcFJ18E4.err 编译错误文件 .men 内存应用 onfcFJ18E4.fky 键宏文件 .win 窗口文件 onfcFJ18E4.pcb 库文件 .tmp 临时文件 onfcFJ18E4.tbk 临时数据库文件 uYLYBiJVuyK动画文件的后缀名 NufVBITae dy48s2nVEj 动画文件格式用于保存包含动画框架中的图形信息。主要有:Autodesk FLIC(.FLC):即.FLI,Autodesk Animator和AnimatorPro的动画文件格式。支持256色,最大的图像像素是64000×64000,支持压缩。广泛用于动画图形中的动画序列、计算机辅助设计和计算机游戏应用程序。不大适合制作真实世界图像动画。 NufVBITae MacPICTS(.PCS,.PIC):Macromedia开发的动画文件格式,为Macintosh应用程序使用。支持256色,支持压缩,用于保存动画数据,是Quick Time的前身。 NufVBITae Microsoft资源互换文件格式,TIFF(.AVD):Microsoft公司开发的动画文件格式,被Windows、Windows NT平台和OS/2多媒体应用程序所支持,支持256色和压缩,用于在多媒体应用程序中保存音频、视频和图形信息。 NufVBITae MPEG(.MPEG):国际标准化组织的运动图像专家小组开发的动画文件格式。被所有平台和Xing Technologies MPEG播放器及其它应用程序所支持,支持压缩,最大图像像素是4095×4094×30帧/每秒。用于编码音频、视频、文本和图形数据。 NufVBITae Quick Time(.QTM):Apple计算机公司开发的动画文件格式。被Apple Macintosh和Microsoft Windows平台所支持,支持25位颜色,最大图像像素是64000×64000,支持压缩,用于保存音频和运动视频信息。 dy48s2nVEj声音文件的后缀名 NufVBITae dy48s2nVEj 声音文件格式是用于保存数字音频信息的。它们主要有: NufVBITae AIFF(.AIF):这是Apple计算机公司开发的声音文件格式,被Macintosh平台和应用程序所支持。支持压缩。 NufVBITae Amiga声音(.SVX):Commodore所开发的声音文件格式,被Amiga平台和应用程序所支持,不支持压缩。 NufVBITae MAC声音(.SND):Apple计算机公司开发的声音文件格式,被Macintosh平台和多种Macintosh应用程序所支持,支持某些压缩。 NufVBITae MIDI(.MID):国际MIDI协会开发的声音文件格式,被Windows平台和许多应用程序所支持,用于为乐器创建数字声音。 NufVBITae 声霸(.VOC):Creative Labs公司开发的声音文件格式,被Windows和DOS平台所支持,支持压缩。 NufVBITae WAVE(.WAV):微软公司用作Windows平台上保存音频信息的资源格式。 dy48s2nVEj Windows环境下的文件名 EpV7vGl1 2RJmsx 绝大多数DOS文件名后缀在Windows下继续有效,但Windows本身也引出了许多种崭新的后缀名,如:*.drv为设备驱动程序(Driver)、*.fon和*.fot都是字库文件、*.grp为分组文件(Group)、*.ini为初始化信息文件 (Initiation)、*.pif为DOS环境下的可执行文件在Windows下执行时所需要的文件格式、*.crd即卡片文件(Card)、*.rec即记录器宏文件(Record)、*.wri即文本文件(Write),它是字处理write.exe生成的文件、*.doc和*.rtf也是文本文件(Document),它们是Word产生的文件、*.cal为日历文件、*.clp是剪贴板中的文件格式、*.htm和 *.html即主页文件、*.par为交换文件、*.pwl为口令文件(Password)等等。 EpV7vGl1 图像文件名后缀进入多媒体世界后,大家会看到各种各样精彩的图片,会发现许多种后缀名。的确,由于各个公司在开发图形有关的软件时都自制标准,导致今日在图形方面有太多的格式,以下就是常见的几种格式: EpV7vGl1 首先是一种位图文件格式,它是一组点(像素)组成的图像,它们由图像程序生成或在扫描图像时创建。主要有Windows位图(.BMP):由Microsoft公司开发,它被Windows和Windows NT平台及许多应用程序支持。支持32位颜色,用于为Windows界面创建图标的资源文件格式,光标(.CUR、.DLL、.EXE):资源文件格式,用于创建Windows界面的光标。OS/2位图(.BMP):Microsoft公司和IBM开发的位图文件格式。它为各种操作系统和应用程序所支持。支持压缩,最大的图像像素为64000×64000。画笔(.PCX):由Zsoft公司推出,它对图像数据也进行了压缩,可由PCX生成。用于Windows的画笔。支持24位颜色,最大图像像素是64000×64000。支持压缩。图形交换格式(.GIF): ( Graphics Interchage format):由Compu Serve创建,它能以任意大小支持图画,通过压缩可节省存储空间,还能将多幅图画存在一个文件中。支持256色,最大图像像素是64000×64000。 EpV7vGl1 Kodak Photo CD(.PCD):Eastman Kodak所开发的位图文件格式,被所有的平台所支持,PCD支持24位颜色,最大的图像像素是2048×3072,用于在CD-ROM上保存照片。 EpV7vGl1 Adobe Photoshop(.PSD):Adobe Photoshop的位图文件格式,被Macintosh和MS Windows平台所支持,最大的图像像素是30000×30000,支持压缩,广泛用于商业艺术。 EpV7vGl1Macintosh绘画(.MAC):Apple公司所开发的位图文件格式。被Macintosh平台所支持,仅支持单色原图,最大图像像素是576×720。支持压缩,主要用于在Macintosh图形应用程序中保存黑白图形和剪贴画片。
压缩文件的后缀名 gFLB0TK HA0ZG 为了提高存储效率,许多公司都推出了压缩数据的方法和相应的软件,这类文件的使用主要通过压包和解包软件来进行,主要的后缀有:?arj、*.rar、*.lzh、*.jar。还有一些专用的压缩文件,如:*.ex_、*.dl_、*.d3_、*.cab等。 HA0ZG
❸ 算法和数据结构有什么区别
一、指代不同
1、算法:是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令。
2、数据结构:指相互之间存在一种或多种特定关系的数据元素的集合。
二、目的不同
1、算法:指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。
2、数据结构:研究的是数据的逻辑结构和数据的物理结构之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型。
三、特点不同
1、算法:算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成。
2、数据结构:核心技术是分解与抽象。通过分解可以划分出数据的3个层次;再通过抽象,舍弃数据元素的具体内容,就得到逻辑结构。
❹ php直播源代码做开发有什么优势
PHP(Hypertext Preprocessor),超文本预处理器,是一种通用性开源脚本语言。它的语法吸取了C语言、Java和Perl的优点,免费、快捷、高效,主要适用于Web开发领域。
目前,全球5000万互联网网站60%以上都在使用PHP技术,AlexaTOP500中国网站排名中有394家使用PHP,国内80%以上动态网站使用PHP进行开发,在Web后端语言中PHP全球市场语言占有率达到80%。
像Facebook、Google、新浪、网络、YouTube、腾讯都在使用PHP。
PHP语言的八大优势:
1、开放源代码,所有的PHP源代码事实上都可以得到。
2、免费性,php和其它技术相比,PHP本身免费且是开源代码。
3、快捷性,程序开发快,运行快,技术本身学习快。嵌入于HTML:因为PHP可以被嵌入于HTML语言,它相对于其他语言。编辑简单,实用性强,更适合初学者。
4、跨平台性强,由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS、Mac OS下。
5、专业专注,PHP支持脚本语言为主,同为类C语言。
6、效率高PHP消耗相当少的系统资源。
7、面向对象,在php4,php5 中,面向对象方面都有了很大的改进,php完全可以用来开发大型商业程序。
8、图像处理,用PHP动态创建图像,PHP图像处理默认使用GD2。且也可以配置为使用image magick进行图像处理。
PHP的3种常用运行方式:CGI、FastCGI、APACHE2HANDLER。
1、CGI
CGI即通用网关接口(common gatewag interface),它是一段程序,通俗的讲CGI就像是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页。CGI 的跨平台性能极佳,几乎可以在任何操作系统上实现。
2、FastCGI
fast-cgi 是cgi的升级版本,FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一 次。PHP使用PHP-FPM(FastCGI Process Manager),全称PHP FastCGI进程管理器进行管理。
但每一个Web 请求PHP都必须重新解析php.ini、重新载入全部扩展并重初始化全部数据结构。使用FastCGI,所有这些都只在进程启动时发生一次。一个额外的好处是,持续数据库连接(Persistent database connection)可以工作。
3、APACHE2HANDLER
PHP作为Apache模块,Apache服务器在系统启动后,预先生成多个进程副本驻留在内存中,一旦有请求出现,就立即使用这些空余的子进程进行处理,这样就不存在生成子进程造成的延迟了。这些服务器副本在处理完一次HTTP请求之后并不立即退出,而是停留在计算机中等待下次请求。对于客户浏览器的请求反应更快,性能较高。
如何保护自己的PHP代码:
1、代码混淆+加密
就是把代码base64加密,然后对base64里的字符串进行字符串映射(随机生成字典混淆)然后eval执行 这种百分之百能被破解还原。
2、混淆乱码字符
代码混淆变量还有一些东西 和1原理差不多,不过是把字符串换到 ascii 127到255之间非人类还有编辑器看不懂的字符 ,结果也是百分之百能被破解和还原,只是时间问题。
3、发放opcode
不分发代码,而是先把PHP代码预编译,分发opcode,PHP7以后opcache深度集成这个东西 PHP7以后可以用这个方法保护源码,但是也会被opcode反编译回去 也会被破解。
4、混淆+加密+写PHP扩展
混淆+加密+写PHP扩展,但是只要是开源的PHP扩展都会被破解,除非自己写加密算法,把PHP代码加密, 然后自己拿C语音写扩展闭源, 别人不知道你加密思路和破解思路,被破解的可能性很小。
❺ 请帮忙解释各种文件的后缀,谢谢啦
各种文件后缀名与打开方式大全
: 扩展名 文件类型 打开方式
.aiff 声音文件 Windows media Player
.!!! Netants 暂存文件 Netants
.ani 动画鼠标
.arj 压缩文件 ARJ
.avi 电影文件 Windows media Player
.awd 传真文档
.bak 备份文件
.bas Basic 语言 Basic
.bat DOS批处理文件
.bin MAC 二进制码文件 Stuffit Expander
.bmp 图象文件 画图/看图软件
.cab 压缩文件 Winzip
.cdr Corel图画文件 Corel Draw
.chk Scandisk检察后制作的文件 可以删掉
.com DOS命令文件 自执行
.cpx Cryptapix加密图片文件 Cryptapix
.cur 静态鼠标
.dbf 数据库文件 dBase, FoxBase, Access
.dll 应用程序扩展
.doc 文档文件 Word
.dwg AutoCAD文件 AutoCAD
.eps Illustrator 图画文件 Adobe Illustrator
.exe 执行文件 自执行
.fon 字体文件
.gb 国标码文件 南极星文字处理
.get Getright 暂存文件
.gif 256色图象文件 画图/看图软件
.gz 可供UNIX或LINUX使用的压缩文件 Winzip
.hqx Macintosh 文件 Stuffit Expander
.htm 网页 浏览器
.html 网页 浏览器
.ico 图标
.ini 配置设置 笔记本或WordPad
.ipx IPX演示文件 浏览器加装IPX 插件
.jiff 图象文件 画图/看图软件
.jpeg 压缩过的图象文件 画图/看图软件
.jpg 压缩过的图象文件 画图/看图软件
.js javascript
.lnk 快捷方式连接文件 连接文件的相应程序
.m3u Winamp播放列表 Winamp
.mid 声音文件 Windows media Player
.mov Quicktime影像文件 Quick Time
.mp3 压缩音乐文件 Winamp
.mpeg 影像 Windows media Player
.mpg 影像 Windows media Player
.njx 南极星文档 南极星文字处理
.pcb 电子电路图设计文件 Protel PCB
.pdf 便携式文档格式,内含图片文字等等 Adobe Acrobat, Adobe Acrobat Reader
.pm5 PageMaker 5 排版文件 Page Maker
.ppt Power Point 文件 Microsoft Power Point
.ps GhostScript
.psd Photoshop文件 Adobe Photoshop
.pub Publisher排版文件 Microsoft Publisher
.qt Quicktime影像文件 Quick Time
.ra Real Audio声音文件 Real Audio
.ram Real Audio影像文件 Real Audio
.rar 压缩文件 Winrar
.rsf Richwin 字体文件
.sch 电子原理图设计文件 Protel Schematic
.scr 屏保文件
.sea Macintosh 启动文件
.sit 压缩 Stuffit Expander
.swf Flash动画文件 浏览器加装Macromedia flash 插件
.sys 系统文件
.tar UNIX压缩文件 Winzip
.tif 高质量图象文件 画图/看图软件
.tiff 高质量图象文件 画图/看图软件
.tmp 暂存文件 可以删掉
.ttf 字体文件
.txt 纯文本文件 笔记本或全部文字处理系统
.vbs Visual Basic 编程文件 Microsoft Viasual Basic
.viv VIVO影像文件 浏览器加装VIVO 插件
.vqf 压缩声音文件 Yamaha SoundVQ Player
.wav 未压缩的声音文件 Windows media Player
.wk1 Lotus 123 试算软件文件 Lotus 123, Excel
.wq1 Q-Pro 试算软件文件 Q-Pro, Excel
.wri Write文字文档 Word
.xls Excel 试算软件文件 Microsoft Excel
.Z UNIX压缩文件 Winzip
.zip 压缩文件 Winzip
图像文件:
bmp Windows or OS/2 Bitmap
clp Windows Clipboard
cup Dr. Halo
dib Windows or OS/2 DIB
emf Windows Enhanced Meta file
eps Encapsulated PostScript
fpx Flash Pix
gif Compuserver
iff Amiga
img GEM Paint
jpg JPEG - JFIF Compliant
lbm Deluxe Paint
mac Mac Paint
msp Macrosoft Paint
pbm Potable Bitmap
pct Macintosh Pict
pcx Zsoft Paintbrush
pic PC Paint
png Portable Network Graphics
ppm Portable Pixelmap
psd Photoshop
psp Paint Shop Pro Image
ras Sun Raster Image
raw Eaw File format
rle Windows or CompuServer RLE
sct SciTex Continuous Tone
tga Truevision Targa
tif Tagged Image file format
wmf Windows Meta File
wpg WordPefect Bitmap
或者下载一个文件后缀名查询软件
http://www.xinfeng.net/Soft/syrj/200601/478.html
❻ 急求一个完整的c语言图像置乱加密算法!!!
#include"windows.h"
#include"stdio.h"
#include"string.h"
#include"malloc.h"
unsignedchar*pBmpBuf;//读入图像数据的指针
unsignedchar*pEnBmpBuf;//加密图像数据的指针
unsignedchar*pUnBmpBuf;//解密图像数据的指针
charkey=255;//密钥
intbmpWidth;//图像的宽
intbmpHeight;//图像的高
RGBQUAD*pColorTable;//颜色表指针
intbiBitCount;//图像类型,每像素位数
boolreadBmp(char*bmpName)
{
//二进制读方式打开指定的图像文件
FILE*fp=fopen(bmpName,"rb");
if(fp==0)return0;
//跳过位图文件头结构BITMAPFILEHEADER
fseek(fp,sizeof(BITMAPFILEHEADER),0);
//定义位图信息头结构变量,读取位图信息头进内存,存放在变量head中
BITMAPINFOHEADERhead;
fread(&head,sizeof(BITMAPINFOHEADER),1,fp);
//获取图像宽、高、每像素所占位数等信息
bmpWidth=head.biWidth;
bmpHeight=head.biHeight;
biBitCount=head.biBitCount;
//定义变量,计算图像每行像素所占的字节数(必须是4的倍数)
intlineByte=(bmpWidth*biBitCount/8+3)/4*4;
//灰度图像有颜色表,且颜色表表项为256
if(biBitCount==8){
//申请颜色表所需要的空间,读颜色表进内存
pColorTable=newRGBQUAD[256];
fread(pColorTable,sizeof(RGBQUAD),256,fp);
}
//申请位图数据所需要的空间,读位图数据进内存
pBmpBuf=newunsignedchar[lineByte*bmpHeight];
fread(pBmpBuf,1,lineByte*bmpHeight,fp);
//关闭文件
fclose(fp);
return1;
}
voidencrypt(chark)
{
//加密,奇数位置的像素使用位运算加密,偶数位置像素为原始值
intlineByte=(bmpWidth*biBitCount/8+3)/4*4;
pEnBmpBuf=newunsignedchar[lineByte*bmpHeight];
for(inti=0;i<lineByte*bmpHeight;i++)
{
if(i%2==0)
{
pEnBmpBuf[i]=pBmpBuf[i];
}
elsepEnBmpBuf[i]=pBmpBuf[i]^k;
}
}
voinencrypt(chark)
{
//解密
intlineByte=(bmpWidth*biBitCount/8+3)/4*4;
pUnBmpBuf=newunsignedchar[lineByte*bmpHeight];
for(inti=0;i<lineByte*bmpHeight;i++)
{
if(i%2==0)
{
pUnBmpBuf[i]=pEnBmpBuf[i];
}
elsepUnBmpBuf[i]=pEnBmpBuf[i]^k;
}
}
boolsaveBmp(char*bmpName,unsignedchar*imgBuf,intwidth,intheight,
intbiBitCount,RGBQUAD*pColorTable)
{
//如果位图数据指针为0,则没有数据传入,函数返回
if(!imgBuf)
{printf("error !");return0;}
//颜色表大小,以字节为单位,灰度图像颜色表为1024字节,彩色图像颜色表大小为0
intcolorTablesize=0;
if(biBitCount==8)
colorTablesize=1024;
//待存储图像数据每行字节数为4的倍数
intlineByte=(width*biBitCount/8+3)/4*4;
//以二进制写的方式打开文件
FILE*fp=fopen(bmpName,"wb");
if(fp==0)return0;
//申请位图文件头结构变量,填写文件头信息
BITMAPFILEHEADERfileHead;
fileHead.bfType=0x4D42;//bmp类型
//bfSize是图像文件4个组成部分之和
fileHead.bfSize=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)
+colorTablesize+lineByte*height;
fileHead.bfReserved1=0;
fileHead.bfReserved2=0;
//bfOffBits是图像文件前3个部分所需空间之和
fileHead.bfOffBits=54+colorTablesize;
//写文件头进文件
fwrite(&fileHead,sizeof(BITMAPFILEHEADER),1,fp);
//申请位图信息头结构变量,填写信息头信息
BITMAPINFOHEADERhead;
head.biBitCount=biBitCount;
head.biClrImportant=0;
head.biClrUsed=0;
head.biCompression=0;
head.biHeight=height;
head.biPlanes=1;
head.biSize=40;
head.biSizeImage=lineByte*height;
head.biWidth=width;
head.biXPelsPerMeter=0;
head.biYPelsPerMeter=0;
//写位图信息头进内存
fwrite(&head,sizeof(BITMAPINFOHEADER),1,fp);
//如果灰度图像,有颜色表,写入文件
if(biBitCount==8)
fwrite(pColorTable,sizeof(RGBQUAD),256,fp);
//写位图数据进文件
fwrite(imgBuf,height*lineByte,1,fp);
//关闭文件
fclose(fp);
return1;
}
voidmain()
{
charinFileName[90],outFileName1[90],outFileName2[90];
printf("请输入原始位图文件的文件名:");
scanf("%s",inFileName);
printf("请输入加密程序产生的新位图文件的文件名:");
scanf("%s",outFileName1);
printf("请输入解密程序产生的新位图文件的文件名:");
scanf("%s",outFileName2);
//读入指定BMP文件进内存
readBmp(inFileName);
//输出图像的信息
printf("width=%d,height=%d,biBitCount=%d ",bmpWidth,bmpHeight,biBitCount);
//图像加密
encrypt(key);
//将加密数据存盘
saveBmp(outFileName1,pEnBmpBuf,bmpWidth,bmpHeight,biBitCount,pColorTable);
//图像解密
unencrypt(key);
//将解密数据存盘
saveBmp(outFileName2,pUnBmpBuf,bmpWidth,bmpHeight,biBitCount,pColorTable);
//清除缓冲区,pBmpBuf和pColorTable是全局变量,在文件读入时申请的空间
delete[]pBmpBuf;
if(biBitCount==8)
delete[]pColorTable;
}
读取BMP,使用位运算加密,你也可以自己改
dem数据的话,一般用GDAL库读取,加密的思路是类似的,最简单方法是把奇数位和偶数位的高程值置换一下
❼ 怎样才能快速学会C语言编程
资料内容所涉及方面: C/C++/VC++的基础教程、通讯、协议分析、游戏开发、图像处理、管理系统、多媒体、加密与解密、控件ACTIVEX、开发CGI、标准程式库、技术内幕、Windows核心编程、对象模型、人工智能、软件工程、数据结构、WindowsAPI、Visual Basic 、Directx、网络开发、数据库开发、ADO、神经网络、DLL和内存管理、OLE&DDE、操作系统、端口、数值算法、等等技术或相关开发资料。 《C语言专区》 C语言实例教程 1.72 http://download.chinaitlab.com/soft/8658.htm 经典编程900例(C语言) http://download.chinaitlab.com/soft/7972.htm C语言实例教程 http://download.chinaitlab.com/soft/6530.htm C语言图象处理方法 http://download.chinaitlab.com/soft/6514.htm C语言编程实例 http://download.chinaitlab.com/soft/6103.htm C语言书打包下载 http://download.chinaitlab.com/soft/6041.htm 集成学习环境(C语言) http://download.chinaitlab.com/soft/5764.htm C语言圣经 1.0 http://download.chinaitlab.com/soft/5745.htm 用C实现面向对象 http://download.chinaitlab.com/soft/7566.htm C语言高级实用编程技巧 http://download.chinaitlab.com/soft/4593.htm C语言最新编程技巧200例 http://download.chinaitlab.com/soft/4594.htm C语言速成3.0 http://download.chinaitlab.com/soft/4723.htm C语言编程技巧程序集 http://download.chinaitlab.com/soft/4561.htm C语言速成多媒件课件 3.0 http://download.chinaitlab.com/soft/3238.htm C语言多媒体教程 http://download.chinaitlab.com/soft/2893.htm C程序设计培训 http://download.chinaitlab.com/soft/6340.htm 实用C语言详解 http://download.chinaitlab.com/soft/3274.htm C语言程序设计及应用实例 http://download.chinaitlab.com/soft/3241.htm C语言程序宝典 http://download.chinaitlab.com/soft/3071.htm C语言教程 http://download.chinaitlab.com/soft/3027.htm 《C语言编程宝典》 http://download.chinaitlab.com/soft/1849.htm C语言常用函数手册 http://download.chinaitlab.com/soft/1818.htm C语言学习系统 http://download.chinaitlab.com/soft/1816.htm C语言技术文章 http://download.chinaitlab.com/soft/1817.htm C常用算法程序集 http://download.chinaitlab.com/soft/6225.htm 微软C编程精粹 http://download.chinaitlab.com/soft/6166.htm 《C++语言专区》 Inside C++ Object Model http://download.chinaitlab.com/soft/7851.htm C++ 入门基础教程 http://download.chinaitlab.com/soft/7617.htm C++和面向对象的数值计算 http://download.chinaitlab.com/soft/6987.htm 经典C++语言教程 http://download.chinaitlab.com/soft/7399.htm C++编程实例详解 http://download.chinaitlab.com/soft/6988.htm C_C++深层探索 http://download.chinaitlab.com/soft/6989.htm C_C++程序设计 http://download.chinaitlab.com/soft/6990.htm C++输入输出流及本地化 http://download.chinaitlab.com/soft/6986.htm 经典C++语言教程 http://download.chinaitlab.com/soft/6978.htm C++ Primer 3rd Edition http://download.chinaitlab.com/soft/6823.htm C++_Primer_Plus_4th http://download.chinaitlab.com/soft/6819.htm C++应用编程200例 http://download.chinaitlab.com/soft/6820.htm C++面向对象高效编程 http://download.chinaitlab.com/soft/6610.htm Borland C++ 3.0自学培训教程 http://download.chinaitlab.com/soft/6274.htm 经典C++ 语言教程 http://download.chinaitlab.com/soft/6600.htm C++Builder自学培训教程 http://download.chinaitlab.com/soft/6317.htm Borland C++ Builder高级编程 http://download.chinaitlab.com/soft/7927.htm 高质量C_C++编程指南 http://download.chinaitlab.com/soft/7916.htm C++程序设计培训教程 http://download.chinaitlab.com/soft/6339.htm C++程序设计教程 http://download.chinaitlab.com/soft/6338.htm C++Builder核心program http://download.chinaitlab.com/soft/6318.htm C++Builder基础进阶 http://download.chinaitlab.com/soft/6316.htm C++Builder30开发指南 创世纪的C++ Builder教程 http://download.chinaitlab.com/soft/6175.htm http://download.chinaitlab.com/soft/6311.htm
❽ 吐血整理:C++编程语言资源汇总
关于 C++ 框架、库和资源的一些汇总列表,内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。有需要的小伙伴可以收藏一下!
C++标准库,包括了STL容器,算法和函数等。
C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。
Standard Template Library:标准模板库
C POSIX library : POSIX系统的C标准库规范
ISO C++ Standards Committee :C++标准委员会
C++通用框架和库
Apache C++ Standard Library:是一系列算法,容器,迭代器和其他基本组件的集合
ASL :Adobe源代码库提供了同行的评审和可移植的C++源代码库。
Boost :大量通用C++库的集合。
BDE :来自于彭博资讯实验室的开发环境。
Cinder:提供专业品质创造性编码的开源开发社区。
Cxxomfort:轻量级的,只包含头文件的库,将C++ 11的一些新特性移植到C++03中。
Dlib:使用契约式编程和现代C++ 科技 设计的通用的跨平台的C++库。
EASTL :EA-STL公共部分
ffead-cpp :企业应用程序开发框架
Folly:由Facebook开发和使用的开源C++库
JUCE :包罗万象的C++类库,用于开发跨平台软件
libPhenom:用于构建高性能和高度可扩展性系统的事件框架。
LibSourcey :用于实时的视频流和高性能网络应用程序的C++11 evented IO
LibU : C语言写的多平台工具库
Loki :C++库的设计,包括常见的设计模式和习语的实现。
MiLi :只含头文件的小型C++库
openFrameworks :开发C++工具包,用于创意性编码。
Qt :跨平台的应用程序和用户界面框架
Reason :跨平台的框架,使开发者能够更容易地使用Java,.Net和Python,同时也满足了他们对C++性能和优势的需求。
ROOT :具备所有功能的一系列面向对象的框架,能够非常高效地处理和分析大量的数据,为欧洲原子能研究机构所用。
STLport:是STL具有代表性的版本
STXXL:用于额外的大型数据集的标准模板库。
Ultimate++ :C++跨平台快速应用程序开发框架
Windows Template Library:用于开发Windows应用程序和UI组件的C++库
Yomm11 :C++11的开放multi-methods.
btsk : 游戏 行为树启动器工具
Evolving Objects:基于模板的,ANSI C++演化计算库,能够帮助你非常快速地编写出自己的随机优化算法。
Neu:C++11框架,编程语言集,用于创建人工智能应用程序的多用途软件系统。
Boost.Asio:用于网络和底层I/O编程的跨平台的C++库。
libev :功能齐全,高性能的时间循环,轻微地仿效libevent,但是不再像libevent一样有局限性,也修复了它的一些bug。
libevent :事件通知库
libuv :跨平台异步I/O。
音频,声音,音乐,数字化音乐库
FMOD :易于使用的跨平台的音频引擎和音频内容的 游戏 创作工具。
Maximilian :C++音频和音乐数字信号处理库
OpenAL :开源音频库—跨平台的音频API
Opus:一个完全开放的,免版税的,高度通用的音频编解码器
Speex:免费编解码器,为Opus所废弃
Tonic: C++易用和高效的音频合成
Vorbis: Ogg Vorbis是一种完全开放的,非专有的,免版税的通用压缩音频格式。
生物信息,基因组学和生物技术
libsequence:用于表示和分析群体遗传学数据的C++库。
SeqAn:专注于生物数据序列分析的算法和数据结构。
Vcflib :用于解析和处理VCF文件的C++库
Wham:直接把联想测试应用到BAM文件的基因结构变异。
压缩和归档库
bzip2:一个完全免费,免费专利和高质量的数据压缩
doboz:能够快速解压缩的压缩库
PhysicsFS:对各种归档提供抽象访问的库,主要用于视频 游戏 ,设计灵感部分来自于Quake3的文件子系统。
KArchive:用于创建,读写和操作文件档案(例如zip和 tar)的库,它通过QIODevice的一系列子类,使用gzip格式,提供了透明的压缩和解压缩的数据。
LZ4 :非常快速的压缩算法
LZHAM :无损压缩数据库,压缩比率跟LZMA接近,但是解压缩速度却要快得多。
LZMA :7z格式默认和通用的压缩方法。
LZMAT :及其快速的实时无损数据压缩库
miniz:单一的C源文件,紧缩/膨胀压缩库,使用zlib兼容API,ZIP归档读写,PNG写方式。
Minizip:Zlib最新bug修复,支持PKWARE磁盘跨越,AES加密和IO缓冲。
Snappy :快速压缩和解压缩
ZLib :非常紧凑的数据流压缩库
ZZIPlib:提供ZIP归档的读权限。
并发执行和多线程
Boost.Compute :用于OpenCL的C++GPU计算库
Bolt :针对GPU进行优化的C++模板库
C++React :用于C++11的反应性编程库
Intel TBB :Intel线程构件块
Libclsph:基于OpenCL的GPU加速SPH流体仿真库
OpenCL :并行编程的异构系统的开放标准
OpenMP:OpenMP API
Thrust :类似于C++标准模板库的并行算法库
HPX :用于任何规模的并行和分布式应用程序的通用C++运行时系统
VexCL :用于OpenCL/CUDA 的C++向量表达式模板库。
C++ B-tree :基于B树数据结构,实现命令内存容器的模板库
Hashmaps: C++中开放寻址哈希表算法的实现
Bcrypt :一个跨平台的文件加密工具,加密文件可以移植到所有可支持的操作系统和处理器中。
BeeCrypt:
Botan: C++加密库
Crypto++:一个有关加密方案的免费的C++库
GnuPG: OpenPGP标准的完整实现
GnuTLS :实现了SSL,TLS和DTLS协议的安全通信库
Libgcrypt
libmcrypt
LibreSSL:免费的SSL/TLS协议,属于2014 OpenSSL的一个分支
LibTomCrypt:一个非常全面的,模块化的,可移植的加密工具
libsodium:基于NaCI的加密库,固执己见,容易使用
Nettle 底层的加密库
OpenSSL : 一个强大的,商用的,功能齐全的,开放源代码的加密库。
Tiny AES128 in C :用C实现的一个小巧,可移植的实现了AES128ESB的加密算法
数据库,SQL服务器,ODBC驱动程序和工具
hiberlite :用于Sqlite3的C++对象关系映射
Hiredis: 用于Redis数据库的很简单的C客户端库
LevelDB: 快速键值存储库
LMDB:符合数据库四大基本元素的嵌入键值存储
MySQL++:封装了MySql的C API的C++ 包装器
RocksDB:来自Facebook的嵌入键值的快速存储
SQLite:一个完全嵌入式的,功能齐全的关系数据库,只有几百KB,可以正确包含到你的项目中。
调试库, 内存和资源泄露检测,单元测试
Boost.Test:Boost测试库
Catch:一个很 时尚 的,C++原生的框架,只包含头文件,用于单元测试,测试驱动开发和行为驱动开发。
CppUnit:由JUnit移植过来的C++测试框架
CTest:CMake测试驱动程序
googletest:谷歌C++测试框架
ig-debugheap:用于跟踪内存错误的多平台调试堆
libtap:用C语言编写测试
MemTrack —用于C++跟踪内存分配
microprofile- 跨平台的网络试图分析器
minUnit :使用C写的迷你单元测试框架,只使用了两个宏
Remotery:用于web视图的单一C文件分析器
UnitTest++:轻量级的C++单元测试框架
Cocos2d-x :一个跨平台框架,用于构建2D 游戏 ,互动图书,演示和其他图形应用程序。
Grit :社区项目,用于构建一个免费的 游戏 引擎,实现开放的世界3D 游戏 。
Irrlicht :C++语言编写的开源高性能的实时#D引擎
Polycode:C++实现的用于创建 游戏 的开源框架(与Lua绑定)。
CEGUI : 很灵活的跨平台GUI库
FLTK :快速,轻量级的跨平台的C++GUI工具包。
GTK+: 用于创建图形用户界面的跨平台工具包
gtkmm :用于受欢迎的GUI库GTK+的官方C++接口。
imgui:拥有最小依赖关系的立即模式图形用户界面
libRocket :libRocket 是一个C++ HTML/CSS 游戏 接口中间件
MyGUI :快速,灵活,简单的GUI
Ncurses:终端用户界面
QCustomPlot :没有更多依赖关系的Qt绘图控件
Qwt :用户与技术应用的Qt 控件
QwtPlot3D :功能丰富的基于Qt/OpenGL的C++编程库,本质上提供了一群3D控件
OtterUI :OtterUI 是用于嵌入式系统和互动 娱乐 软件的用户界面开发解决方案
PDCurses 包含源代码和预编译库的公共图形函数库
wxWidgets C++库,允许开发人员使用一个代码库可以为widows, Mac OS X,Linux和其他平台创建应用程序
bgfx:跨平台的渲染库
Cairo:支持多种输出设备的2D图形库
Horde3D 一个小型的3D渲染和动画引擎
magnum C++11和OpenGL 2D/3D 图形引擎
Ogre 3D 用C++编写的一个面向场景,实时,灵活的3D渲染引擎(并非 游戏 引擎)
OpenSceneGraph 具有高性能的开源3D图形工具包
Panda3D 用于3D渲染和 游戏 开发的框架,用Python和C++编写。
Skia 用于绘制文字,图形和图像的完整的2D图形库
urho3d 跨平台的渲染和 游戏 引擎。
Boost.GIL:通用图像库
CImg :用于图像处理的小型开源C++工具包
CxImage :用于加载,保存,显示和转换的图像处理和转换库,可以处理的图片格式包括 BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K。
FreeImage :开源库,支持现在多媒体应用所需的通用图片格式和其他格式。
GDCM:Grassroots DICOM 库
ITK:跨平台的开源图像分析系统
Magick++:ImageMagick程序的C++接口
MagickWnd:ImageMagick程序的C++接口
OpenCV : 开源计算机视觉类库
tesseract-ocr:OCR引擎
VIGRA :用于图像分析通用C++计算机视觉库
VTK :用于3D计算机图形学,图像处理和可视化的开源免费软件系统。
最后, 对于学习编程或者在工作想升职的程序员兄弟,如果你想更好的提升你的编程能力帮助你提升水平! 笔者这里或许可以帮到你~
编程学习书籍分享:
编程学习视频分享:
分享(源码、项目实战视频、项目笔记,基础入门教程)
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
❾ 我要学电脑,刚开始看C语言的书,不知道往后学和数学有多大的关系
问题: 我想自学计算机科学,应该怎样开始?
--------------------------------------------------------------------------------
答案:
以学计算机专业为例,许多大学生认为学最新的计算机语言、技术、标准是最好的铺路方法,因为许多公司招聘时要求这些方面的经验。这些新技术虽然该学,但是学习计算机基础课程更重要,因为计算机语言和开发平台日新月异,但是万变不离其宗的就是那些基础课程:数据结构、算法、编译原理、计算机组成、关系型数据库原理等。有位同学生动地在“开复学生网”上把这些基础课程比拟为内功,把新的语言、技术、标准比拟为外功。只追寻时髦的学生最后只懂招式,没有功力,是不可能成为高手的。
想系统地学习计算机科学,可以从三方面起步:
1 数学。
离散数学 (包括集合论,图论,数理逻辑,等等),线性代数,概率统计。我觉得数学分析和微积分与软件及计算机科学本身关系不大,也许在一些计算机应用中有用。但是,数学分析的思想精髓,值得一看。
2 软件
可以从数据结构,操作系统,算法和程序设计语言开始。程序设计语言可以从C学起。
3 另外
通过对计算机组成及框架结构的学习,可以对计算机硬件略知一二。
有 了这些基础,然后可以向编译原理,数据库,人工智能,图形学,网络,软件工程,等等方向扩展。一个很好的办法是参考大学计算机系的课程安排,当然自学的时 候取舍更加灵活一些。另外,你也许可以去旁听一些计算机系的课程,并和授课的老师多多接触,看看有没有转系或者选修其双学位的机会。
计算机能力不一定是通过证书来评价的。当然证书也是一个方面。计算机学习应用领域主要看书、上网找资料这些方面学习的。当然培训也是一个快速的方法。
在计算机专业上面有什么问题,可以去比如“新闻组(http://www.microsoft.com/china/commuity),或者专门的一些BBS比如(http://forum.diyinside.com),上面去多看看,相信你回有收获的
还可以到微软社区看帖子、到微软技术网站看文章,都能取得不错的效果。
我们DIY Inside的公益社区还会在微软社区以及其他机构的协助下在各大城市(北京、上海、南京、成都等)的高校中举办MVP校园技术教育会议,如果你正好在这些城市,不防多多关注diyinside.com,注册去参加这些免费的由微软MVP讲师主讲的课程。
你必须有一个坚定的目标,然后不断努力,而不能天天无聊没事情做。这样,你的生活才是充实的。
补充一点:给自己设定的目标不要太大太不容易实现。从小事开始做,一步一个脚印,更能够增加自信心。另外,朋友圈子很重要。你应该有意识地多结交一些做实事的朋友,也许你们可以一起提高.
编程与数学的联系
离散数学是在大学开设的,其实初中生也能看得懂,主要是因为它的描述过于严谨,所以看起来有点神圣。但只要明白其本质,也没有什么难的,不过是比较烦。
你不用专门地从头研究数学。如果你学过一点编程,那么建议你学习数据结构,从中你可以了解到学习哪些数学知识能帮你更好地前进;而且在学习过数据结构之后,你的编程水平将大大提高。
掌握一门语言的语法并不需要太多的数学知识。只有在遇到具体问题时,要用到数学上的相关理论,数学才发挥作用,此时完全可以通过查资料来解决。当然,有数学基础自然可以事半功倍。不过通过应用时的临时学习将使你对该理论有更深该的认识也形成了你的实践积累。
最后给你一条武林秘决(今天你可能无法领悟,到你功力倍进的时候,你就会心领神会了) 程序=算法+数据结构.