首页 > 代码库 > openSSL加密解密
openSSL加密解密
一、前言
openSSL是套开放源代码的软件库包,实现了SSL与TLS协议。其主要库是以C语言所写成,实现了基本的加密功能。
OpenSSL可以运行在绝大多数类Unix操作系统上(包括Solaris,Linux,Mac OS X与各种版本的开放源代码BSD操作系统),OpenVMS与 Microsoft Windows。它也提供了一个移植版本,可以在IBM i(OS/400)上运作。
openssl有三个部分组成、一是libcryto、这是一个具有通用功能的加密库、里面实现了众多的加密库、二是libssl、这个是实现ssl机制的、他是用于实现TLS/SSL的功能、三是openssl、是个多功能命令行工具、他可以实现加密解密、甚至还可以当CA来用、可以让你创建证书、吊销证书.
二、加密类型:
加密有两种类型:对称加密、非对称加密
这里我们主要研究非对称加密:
[root@magine356-2 ~]# cp /etc/fstab ./ #复制文件到当前目录 [root@magine356-2 ~]# ls anaconda-ks.cfg fstab install.log install.log.syslog [root@magine356-2 ~]# cat fstab #查看文件 # # /etc/fstab # Created by anaconda on Fri Dec 26 18:09:56 2014 # # Accessible filesystems, by reference, are maintained under ‘/dev/disk‘ # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/vg_magine3562-lv_root / ext4 defaults 1 1 UUID=d507dc4f-dcaa-4311-9aa6-3392322b064c /boot ext4 defaults 1 2 /dev/mapper/vg_magine3562-lv_home /home ext4 defaults 1 2 /dev/mapper/vg_magine3562-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 [root@magine356-2 ~]# openssl enc -des3 -in fstab -e -out fstab.des3 #加密 enter des-ede3-cbc encryption password: #加密密码 Verifying - enter des-ede3-cbc encryption password:#再次输入密码 [root@magine356-2 ~]# ls anaconda-ks.cfg fstab fstab.des3 install.log install.log.syslog [root@magine356-2 ~]# cat fstab.des3 #查看加密文件 .o..架 m.K⒈??.?[??ㄨ.?.Jd 玩y?ヂ二E19?)?.珊Ai+?聚.UG?ZieH ??!.??G?Y?6?Q%.?@?.Z..G 碍.?苠 :c. .?晔佣-?]?.M|.??戡Ov.?. .‘{.#!?E<[^?*2??.c纨4Gs噎???/c>MX5??. 雷P?Q ??.Q0Te现q.讹碗苯??h‘tX军蕙8.-S.??.?.Cr!熳? 伊.Q?.?z.O6?.V??w.(肷廴.;.??9?U]?.ㄛJ 蕤?.&U??{]O2??I._帅略x...?A ㄊ膻???.b,?..7p&H冤?? Q.i*?".?.U饯6.??V<?.g?G?[+揿G?+FN??.?.师ゆ9M.g.P???"?}?廉\裁疔K ..???簇-?Q..y.. ...?E]?S..1?E ..w?.?.?RT.^?V?.←‘u泼..:.??镇?..缕!8?闰.f逄?:?..??WZI???q?笈K5WJK4.?.蜷镧#|=P4Jw??tw??Fd.?).?"??5..松?┅7?墀?m X?ZaJ+S诛\vmv0.??.⒀?j?:?..R.?. q铙?V谨. .?M瘐?Hkm?b?母.{.忸<?.厥. _岗_ [root@magine356-2 ~]# openssl enc -des3 -in fstab.des3 -d -out fstab1#解密 enter des-ede3-cbc decryption password:#输入加密时候的密码 [root@magine356-2 ~]# cat fstab1#查看解密后的文件 # # /etc/fstab # Created by anaconda on Fri Dec 26 18:09:56 2014 # # Accessible filesystems, by reference, are maintained under ‘/dev/disk‘ # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/vg_magine3562-lv_root / ext4 defaults 1 1 UUID=d507dc4f-dcaa-4311-9aa6-3392322b064c /boot ext4 defaults 1 2 /dev/mapper/vg_magine3562-lv_home /home ext4 defaults 1 2 /dev/mapper/vg_magine3562-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0
三、单向加密
单向加密、也叫hash算法:(One-Way加密) 用不生成数据指纹的、也叫数据摘要算法、输出是定长的、MD5是128位定长输出、SHA1定长输出160位、他的特性是不会出现碰撞的、每位数据只要有一位不一样就会产生巨大的变化、我们称这种为雪崩效应、常用的算法MD5、SHA1、SHA512、常用工具有sha2sum、md5sum、cksum、openssl dgst。
[root@magine356-2 ~]# openssl dgst -md5 -hex fstab #提取特征码 MD5(fstab)= 653db83e6cdb396784a60b6ee2f9c2aa [root@magine356-2 ~]# md5sum fstab #算法一样,结果也会是一样 653db83e6cdb396784a60b6ee2f9c2aa fstab
openSSL加密解密
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。