精华内容
下载资源
问答
  • 最近自学了一点密码学的东西,也对一些常见的加密算法有过一些了解,但是不管是CSDN 还是博客园这样的论坛一直很少有给文件加密的博客或是代码,今天想介绍一下使用C语言给文件加密的一个小demo 其实文件以二进制...

    最近自学了一点密码学的东西,也对一些常见的加密算法有过一些了解,但是不管是CSDN 还是博客园这样的论坛一直很少有给文件加密的博客或是代码,今天想介绍一下使用C语言给文件加密的一个小demo
    其实文件以二进制格式打开的情况向就相当于一个超大的字符串,核心思想就是每次从文件中读入一定长度的数据进行加密,然后再以二进制的形式写入输出文件中,每次读入一定长度的串而不是一口气全读进来的原因是怕文件太大,内存爆掉。
    直接上代码:

    //MyFileEncryptCode
    #include<stdio.h>
    #include<string.h>
    #include<string.h>
    #include<windows.h>
    
    int main()
    {
    	int filelength,keylength,i; 
    	unsigned char key[100],infilepath[256],outfilepath[256],buffer[256]; 
    	FILE * rp;
    	FILE * wp;
    	while(1)
    	{
    	printf("请输入待加密文件的完整路径名:");
    	gets(infilepath);
        if((rp=fopen(infilepath,"rb"))==NULL)
        {
          printf("Can't open the file\n");
          continue;
        }
        printf("请输入加密输出文件的完整路径名:");
        gets(outfilepath);
        if((wp=fopen(outfilepath,"wb"))==NULL)
        {
          printf("Can't open the file\n");
          continue;
        }
        printf("请输入密钥:");
        gets(key);
        keylength = strlen(key);
        fseek(rp,0L,SEEK_END);
        filelength=ftell(rp);
        fseek(rp,0L,SEEK_SET);
        while(filelength>keylength)
    	{
    		fread(buffer,sizeof(unsigned char),keylength,rp);
    		for (i=0;i<keylength;i++)
    		{
    			buffer[i] = buffer[i]^key[i];
    			buffer[i] = ~buffer[i];
    			buffer[i] = (buffer[i] + 0X36) % 0X100;
    		}
    		fwrite(buffer,sizeof(unsigned char),keylength,wp);
    		filelength -= keylength;
    	}	
    	fread(buffer,sizeof(unsigned char),filelength,rp);
    	for (i=0;i<filelength;i++)
    		{
    			buffer[i] = buffer[i]^key[i];
    			buffer[i] = ~buffer[i];
    			buffer[i] = (buffer[i] + 0X36) % 0X100;
    		}
    	fwrite(buffer,sizeof(unsigned char),filelength,wp);
    	fclose (rp);
    	fclose (wp);
    	printf("加密成功,文件保存在");
    	puts(outfilepath);
    	printf("中\n\n");
    }
    return 0;
    }
    

    这里使用的加密算法非常简单,简单到甚至算不上一个加密算法,仅仅只是将每个字节先与密钥异或,再取反,最后求余。这样的好处是时间复杂度较低,缺点当然是安全性低,不过对于我们一般的加密而言,这已经是足够了的。
    至于解密算法,只需要将加密过程逆向即可,即

    while(filelength>keylength)
    	{
    		fread(buffer,sizeof(unsigned char),keylength,rp);
    		for (i=0;i<keylength;i++)
    		{
    			buffer[i] = (buffer[i] + 0XCA) % 0X100;
    			buffer[i] = ~buffer[i];
    			buffer[i] = buffer[i]^key[i];
    		}
    		fwrite(buffer,sizeof(unsigned char),keylength,wp);
    		filelength -= keylength;
    	}	
    	fread(buffer,sizeof(unsigned char),filelength,rp);
    	for (i=0;i<filelength;i++)
    		{
    			buffer[i] = (buffer[i] + 0XCA) % 0X100;
    			buffer[i] = ~buffer[i];
    			buffer[i] = buffer[i]^key[i];
    		}
    	fwrite(buffer,sizeof(unsigned char),filelength,wp);
    
    展开全文
  • 首先将Dongle插入计算机USB接口,然后按照以下步骤来获得Dongle序列号或者收集C2V文件回传我们。 方法1: 在浏览器程序输入下列地址: “http://localhost:1947/_int_/ACC_help_index.html” 回车进入后,...

    一、收集文件

    首先将Dongle插入计算机USB接口上,然后按照以下步骤来获得Dongle序列号或者收集C2V文件回传给我们。

    方法1:

    在浏览器程序上输入下列地址:

    “http://localhost:1947/_int_/ACC_help_index.html”

    回车进入后,可以看到以下主画面

    点选左侧Option->Sentinel Keys可看到:

    将Key ID号发给我们即可。

     

    如何查看Feture ID

    在浏览器程序上输入下列地址:

    “http://localhost:1947/_int_/ACC_help_index.html”

    回车进入后,可以看到以下主画面

    从图中可以看到Key ID和Feature ID,点击进去查看后,可查看对应的Feature ID,如下图所示.

    方法2:

    1. 将生成的"RUS_Info_For_MD.exe"文件发给客户收集一个c2v文件回传

    Fig.1

     

    Fig.2 收集c2v文件信息对话框

     

    按照图2中所示操作。

    Fig.3 收集成功显示图

    图3所示为收集c2v成功信息显示图,即c2v文件,此例中,我们将c2v文件保存在桌面上,文件名为"DongleInfo.c2v",完成c2v文件后,通过邮件将此文件回传给我方即可。

     

    二、更新文件

    方法1:

    将生成的加密狗Id.exe文件发给客户执行即可。

    Fig.4 升级

    如图4所示,运行“Apply Update”后,升级完成就会显示相应的升级信息。

    方法2:

    通过V2C文件来进行升级

    举例说明:当我们收到“V2C”文件,“1581126099_update.V2C”后打开"RUS_Info_For_MD.exe"进行软件的升级,方法如下:

    Fig.5 通过V2C文件升级

    打开“RUS_Info_For_MD.exe”选择“Apply License Files”栏【如图5中标识1所示】,选择相应的V2C文件【如图5中标识2所示】,然后进行“Apply Update”升级即可。

     

    三、升级提示

    (1)升级成功提示

    Fig.6 升级成功提示

    升级成功,会提示:“Update written successfully”。

    (2)升级失败提示

    Fig.7 升级失败提示

    升级失败提示1:“Another update must be installed first”

    表示我们生成了多个升级文件,需要按顺序升级才能够升级成功。

    Fig.8 升级失败提示

    升级失败提示2:“Key with specified ID was not found”

    表示计算机上没有插入相应的加密锁。

    Fig.9 升级失败提示

    升级失败提示3:“Update was already installed”

    表示此更新文件已使用过。

    展开全文
  • 但那只适合开发环境那么操作,因为jasypt是可逆的,如果知道了加密的salt,就能解出密码,而如果将salt配置在配置文件中,就如又把钥匙插在锁孔,毫无安全意义 解密API @Test public void testDecrypt() ...

    上篇介绍了如何使用jasypt对配置文件中的敏感信息进行加密——Spring Boot加密应用配置文件敏感信息(jasypt)

    但那只适合开发环境那么操作,因为jasypt是可逆的,如果知道了加密的salt,就能解出密码,

    而如果将salt配置在配置文件中,就如给门上了锁又把钥匙插在锁孔,毫无安全意义

    解密API

    @Test
    	public void testDecrypt() {
    		String str = "0S9cYu9xnK/MHezp8mpZOkyIrF59p8p/59/e8hXctl8=";
    		StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
    		encryptor.setPassword("123456");//这里需要是那salt
    		System.out.println("原文:"+encryptor.decrypt(str));
    	}
    

    不加盐,菜就不好吃,那如何安全的加盐(salt)呢?方法有不少,一种是在启动时加
    具体操作是,开发阶段正常加密,部署时,盐得这么加

    jasypt:
      encryptor:
        password: ${JASYPT_ENCRYPTOR_PASSWORD:}
    

    然后打包成jar,启动时加入盐,按如下命令启动,但缺点是会话已关闭,程序就停止运行了

    JASYPT_ENCRYPTOR_PASSWORD=yoursalt java -jar xxxx.jar
    

    这就需要以守护进程启动,不妨这样,将上述命令写在一个可执行脚本中,比如s.sh,如何赋予执行权限
    再新写一个启动脚本

    nohup ./s.sh  > sys.log 2>&1 &
    

    以后端进程的方式启动,将日志输出到sys.log中

    还有其他一些方式比如命令行方式加盐、将盐配置到环境变量中等等,没试过
    具体请参考:https://github.com/ulisesbocchio/jasypt-spring-boot

    展开全文
  • 怎么U盘加密如何使用bitlockerU盘设置密码?本文就大家分享在Win7系统使用bitlockerU盘设置密码的方法。解决方法:1、选择加锁方式;一般用户密码解锁就可以了,重要的是设置一个保密性强的密码,...

    怎么给U盘加密?如何使用bitlocker给U盘设置密码锁?本文就给大家分享在Win7系统上使用bitlocker给U盘设置密码锁的方法。

    解决方法:

    1、选择加锁方式;一般用户密码解锁就可以了,重要的是设置一个保密性强的密码,防止被破译。有智能卡的用户可以选择智能卡解锁方式。如图所示:

    d57a26bf74d1b4f8983c2e1a9f512c30.png

    2、保存恢复密匙的选项;在一个文本文件里有一串解密字符,用户可以在忘记密码时用来解密,故妥善保存是很重要的,如果你不会忘记密码,那么不要这串字符页数可以的。但如果你忘记了密码,且没有字符,格式化u盘就是你唯一的选择。如图所示:

    19a61aca12eac2c1424951f5546fa150.png

    3、开始加密;开启加密u盘的时间可能时间会比较长,但开启后的u盘与未加密前的u盘使用是一样的。将文件存储到u盘时u盘会自动对新存入的文件进行加密,所以一个u盘只要设置一次加密就可以了。如图所示:

    41d866fe4f25f50b69075575f496be55.png

    4、加密后的u盘使用;在Win7系统下接入加密后的u盘,就会出现向导,按照提示进行输入,u盘就可以解锁了,后台也就相应的进行解密操作。在固定的电脑上,还可以设置“自动解锁”选项,以后在这台电脑上u盘就会自动解锁,而不用再输入密码。如图所示:

    c0eb66f7e90f583dfd2bcc4bb3c5fa32.png
    展开全文
  • 现在大家越来越注重信息安全,手机会设置密码、日记本会上锁,不过,对于非个人物品,比如公用电脑,如何在使用过程中,保障自己的信息安全呢?电脑上登录的QQ和微信,可以设置密码来保护。但是编辑好的文档,一点开...
  • 这里给大家讲一下如何给U盘加一把,让人不能轻易看到里面的内容。说简单了也就是BitLocker驱动器加密,详细步骤如下:第一步:将U盘插到电脑。第二步:在我的电脑里对着U盘点右键单击,然后在弹出的菜单中选择...
  • 我们经常会在电脑储存一些不希望被别人看到的文件,而在个情况下,我们就需要对win10的文件进行加密或者隐藏咯,如何实现呢?那么,今天小编就跟你们说说win10如何硬盘隐藏分区的。电脑硬盘如何隐藏分区?小伙伴...
  • 我们为什么要网站配置https,https协议在安全性高于http协议,是通http协议层建立加密层,对传输的数据有较好的保密作用,第二个是创建用户之前信任,加上https协议的地址栏有一把绿并且高亮显示的,说明这种...
  • 12.1.2 文件透明加密防止企业信息泄密 253 12.1.3 文件透明加密软件的例子 253 12.2 区分进程 254 12.2.1 机密进程与普通进程 254 12.2.2 找到进程名字的位置 255 12.2.3 得到当前进程的名字 256 12.3 内存...
  • 12.1.2 文件透明加密防止企业信息泄密 253 12.1.3 文件透明加密软件的例子 253 12.2 区分进程 254 12.2.1 机密进程与普通进程 254 12.2.2 找到进程名字的位置 255 12.2.3 得到当前进程的名字 256 12.3 内存...
  • 涵盖了所有重要的oracle 体系结构特性,包括文件、内存结构和进程,和闩,事务、并发和多版本,表和索引,数据类型,分区和并行,以及数据加密等,并利用具体的例子来全面介绍每个特性,不仅讨论了各个特性是什么...
  • ISO:根据ISD 9660有关CD-ROM文件系统标准列出CD-ROM文件 ISP:X-Internet签字文件 IST:数字跟踪设备文件 ISU:InstallShield卸装脚本 IT:脉冲跟踪系统音乐模块(MOD)文件 ITI:脉冲跟踪系统设备 ITS:...
  • vc++ 应用源码包_1

    热门讨论 2012-09-15 14:22:12
    详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...
  • vc++ 应用源码包_2

    热门讨论 2012-09-15 14:27:40
    详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...
  • vc++ 应用源码包_6

    热门讨论 2012-09-15 14:59:46
    详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...
  • vc++ 应用源码包_5

    热门讨论 2012-09-15 14:45:16
    详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...
  • vc++ 应用源码包_4

    热门讨论 2012-09-15 14:38:35
    详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...
  • vc++ 应用源码包_3

    热门讨论 2012-09-15 14:33:15
    详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...
  • 实例218 将数据库文件转换为文本文件 386 实例219 将数据库数据传Excel 388 实例220 将Excel数据传Access数据库 389 实例221 将数据库数据传Word 391 实例222 将SQL Server数据库中的表插入 Access数据库...
  • 实例218 将数据库文件转换为文本文件 386 实例219 将数据库数据传Excel 388 实例220 将Excel数据传Access数据库 389 实例221 将数据库数据传Word 391 实例222 将SQL Server数据库中的表插入 Access数据库...
  • 3.3.3 允许DDL等待DML 102 3.3.4 显式锁定表 102 3.3.5 不可见索引 103 3.3.6 只读表 106 3.3.7 临时表的管理 107 3.3.8 从内存中创建初始化参数文件 108 3.3.9 复原点的增强功能 109 3.3.10 数据库驻留...
  • Java范例开发大全 (源程序)

    热门讨论 2011-04-27 07:47:22
     实例145 文件加密/解密操作 217  实例146 复制图片 219  实例147 随机读写Java类文件 221  第3篇 Java面向对象编程  第8章 面向对象(教学视频:72分钟) 226  8.1 类 226  实例148 简单的通讯录类 ...
  •  本书还提供了dba完成本职工作必备的基本的uniix、sql、pl/sql和数据建模的知识,也出了许多富有趣味性的例子,通过这些实例详细、循序渐进地说明了oracle database 11g数据库的各个概念和特性。 作译者  Sam...
  • java范例开发大全源代码

    热门讨论 2011-10-30 23:31:51
     实例145 文件加密/解密操作 217  实例146 复制图片 219  实例147 随机读写Java类文件 221  第3篇 Java面向对象编程  第8章 面向对象(教学视频:72分钟) 226  8.1 类 226  实例148 简单的...
  • java范例开发大全

    2013-03-08 20:06:54
    实例145 文件加密/解密操作 217 实例146 复制图片 219 实例147 随机读写Java类文件 221 第3篇 Java面向对象编程 第8章 面向对象(教学视频:72分钟) 226 8.1 类 226 实例148 简单的通讯录类 226 实例149 简单的...
  • Java范例开发大全(全书源程序)

    热门讨论 2013-04-05 11:50:26
    实例145 文件加密/解密操作 217 实例146 复制图片 219 实例147 随机读写Java类文件 221 第3篇 Java面向对象编程 第8章 面向对象(教学视频:72分钟) 226 8.1 类 226 实例148 简单的通讯录类 226 实例149 ...
  • asp.net知识库

    2015-06-18 08:45:45
    C# 2.0会我们带来什么 泛型技巧系列:如何提供类型参数之间的转换 C#2.0 - Object Pool 简单实现 Attributes in C# 手痒痒,也来个c# 2.0 object pool 泛型技巧系列:用泛型打造可复用的抽象工厂 体验.net2.0的优雅...
  • 31、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?  SessionBean: Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    文件为doc版,可自行转成txt,在手机看挺好的。 本资源来自网络,如有纰漏还请告知,如觉得还不错,请留言告知后来人,谢谢!!!!! 入门学习Linux常用必会60个命令实例详解 Linux必学的60个命令 Linux提供...
  • Android 开发技巧

    热门讨论 2012-03-26 10:24:42
    9.79、一个很好的加密解密字符串 316 9.80、DRAWABLE、BITMAP、BYTE[]之间的转换 318 9.81、高循环效率的代码 320 9.82、模拟器打电话发短信 321 9.83、加快模拟器速度 321 9.83.1、模拟器 “尚未注册网络” 322 ...

空空如也

空空如也

1 2 3
收藏数 42
精华内容 16
关键字:

如何给文件上锁加密