把私密文件存哪里最安全?
脑及网络给我们带来的方便有目共睹,但如果没有掌握相应的安保措施,私密文件一旦泄露,就可能会导致严重的后果。聊天记录、私人文件等这些重要文件的数据安全都需要我们好好保护。 锁住隐私 1. 隐私照片、日记传入邮箱保存 假如自己有一些不想让别人知道的隐私照片、日记、旧情书邮件等,一定要锁好,我们认为最安全的做法就是不要在本地存储,将这些隐私文件压缩成带密码的压缩包,然后再将其上传保存到稳定的邮箱中(例如Gmail、QQ邮箱),这样就能解决保存记忆与家庭和谐之间的冲突了。 首先将隐私照片、日记等隐私文件统统拷贝到某个文件夹中,然后打开WinRAR,直接单击“添加”按钮将这些敏感文件所在文件夹添加进来。按下Ctrl+P,在打开的窗口中输入加密密码(见图1)。 为了更安全,建议勾选“加密文件名”,这样可以直接将文件名也进行加密,即使双击打开压缩包,在预览窗口中也看不到文件名称了。 最后以邮件附件的形式直接将加密压缩包发到自己的邮箱中即可。不过,在邮箱中最好设置一个好记的标签或者是附件名称,避免日后邮件多了自己也不方便找到。 小提示:现在有很多网络硬盘可用,不过,像这种较敏感的隐私文件,最好不要选择保存在网络硬盘中,保存在邮箱中更安全,也更稳定。万一哪天网络硬盘停止服务了,那可就欲哭无泪了。 2.拒绝威胁 隐私文件本地伪装 如果你的电脑上不了网该咋办?如果想别人练加密文件也看不到,我们可以利用《文件夹伪装工具》这个软件将硬盘上任意的文件夹伪装成如“我的电脑”、“网上邻居”、“回收站”等系统的特殊文件,这样即使别人点击该图标进入,看到的也是系统的正常内容选项。 使用方法很简单:首先将需要保密的文件移动到一个新建文件夹中。打开软件,点击“浏览”设置好这个文件夹的路径。选择要伪装的系统图标,如“我的电脑”,再加入密码,点击“开始伪装”按钮。这时该文件就变成了“我的电脑”图标,如果其他人不小心点到了这个图标就只能看到各个硬盘分区盘符,而不是原来的文件夹。恢复伪装过的文件夹也很简单,只需要输入开始设置的密码即可。 小提示:这种伪装方式在Windows系统重装后依然有效。记住,这个密码是一定要牢记,否则你的宝贝照片和日记就恢复不到原样了。 锁住收藏夹 要将收藏夹锁好很简单,直接使用加密工具将Favorites(Windows 7系统默认在系统盘:\Users\系统账号\Favorites;Windows XP系统默认在系统盘:\Documents and Settings\系统账号\收藏夹)加密即可,最简单的方法就是用后面介绍的EFS加密方法将该文件夹进行EFS加密,这样,只有自己使用系统账号进入才能正常使用收藏夹并访问其中的网址,而其他用户则无法访问了。 如果使用傲游浏览器,直接使用在线收藏夹,然后设置退出时自动退出账号并清空浏览记录:单击菜单“工具→傲游设置中心”,选择“安全和隐私”,选中“退出时清除浏览记录”,然后将下面的所有项选中,保存退出(见图2)。 这样设置后,还要注意不要勾选登录窗口中的自动保存密码选项,虽然每次登录时麻烦点,但总比泄露隐私信息强。 善用EFS免费锁,杜绝“艳照门” 最近“门”事件比较多,可千万别把自己变成某某门的主角啦……想当初震惊网络的“艳照门”事件引起的轩然大波,至今还没有完全平息。“钢铁侠”可不想成为“艳照门”的主角,掌握系统自带的EFS这把免费锁,即使别人拿到了你的硬盘,或重装了系统,只要没有私钥也同样打不开那些“艳照”。 第一步:首先要将不想让别人随意查看的文件放到NTFS格式的磁盘分区中,或者将非NTFS格式的磁盘分区转换成NTFS格式(使用管理员权限打开命令提示符窗口,使用convert 盘符 /FS:NTFS即可转换)。 第二步:右击存放这些重要文件的文件夹并选择“属性”,单击“常规”选项卡中的“高级”按钮,选择“加密内容以便保护数据”(图3)。 小提示:也可以在设置加密文件夹后再将需要加密的文件放到这个文件夹中,同样可以达到加密的目的。 第三步:这样加密后,最重要的一个步骤还没做,那就是备份加密证书及私钥。使用EFS加密后,只有当前系统账户在登录系统后才能正常访问,而非当前账户就无法访问这些加密文件了。当重新安装系统后,即使你设置同一个账户名也被识别为非加密时的系统账户,因此也无法访问这些加密的文件。为了避免加密文件自己也打不开,需要将加密系统账号对应的证书和私钥备份出来: 按Win+R打开运行对话框,输入“certmgr.msc”并回车,在打开的证书管理器中在“当前用户→个人→证书”路径下会看见一个以当前系统账户名为名称的证书,右击该项并选择“所有任务→导出”,然后按照向导将该证书导出,同时将私钥也导出(图4)。 小提示:在Windows 7系统中,如果没有对文件进行EFS加密,在上述证书列表中不会看到对应于当前系统账号的数字证书,只有进行过EFS加密才会出现加密证书项,此外,系统还会在没有备份的情况下自动给出备份提示。 使用EFS加密手段,可以将聊天记录(包括QQ、MSN等一切聊天软件)、重要的各类文件进行加密,加密后,只有用自己的系统账号登录后才能正常访问这些文件,其他人均无法查看加密的文件。因此,之前自己备份的加密证书一定要保存好,防止连自己也被挡在门外。 加两道安保锁对付黑客高手 在公共场所中,有的“大反派”可以将隐藏分区中的私密文件“黑”出来,让你不寒而栗。要想对付这种高超的黑客技术,“钢铁侠”还得增强安保措施,使用双重加密技术将重要的文件加密隐藏,确保敏感数据万无一失。 “TrueCrypt”就是这样的一款加密软件,它可以建立一个加密容器(对应于一个文件),然后再将这个容器虚拟成一个带密码的磁盘分区,可以像操作物理硬盘分区那样,非常方便地将需要加密的文件放置其中,然后关闭软件。对别人来说,这个加密的容器本身就是一个未知类型的文件,无法打开,即使知道是“TrueCrypt”软件加密文件,不知道密码也无法打开其中的文件,进而实现双重加密的效果。 第一步:先下载安装“TrueCrypt”加密工具【点击下载】。 在主窗口中单击“创建加密卷”,按照向导提示依次选择:创建文件型加密卷、标准TrueCrypt加密卷、加密文件位置(设置为一个相对隐蔽的位置)、加密算法选择AES、设置好加密卷的大小(视要加密的文件体积而定)、设置一个大于20个字符的复杂的外层加密密码(系统建议值,也可以设置简单密码),最后一步直接单击“格式化”按钮进行格式化(图5)。 第二步:创建完毕后退出向导,在“TrueCrypt”主窗口中通过“选择文件”按钮找到创建的加密文件,再单击“载入”,输入正确的密码后即可。 现在,只要打开“我的电脑”就会看到一个新盘符,双击打开,然后将要加密的文件存入其中(操作与正常的磁盘文件操作方法类似),文件加密后,只要直接退出软件即可(解密时操作方法类似,加载加密文件如同从硬盘中拷贝文件那样简单)。 小提示:通过这款软件还可以方便地将重要文件加密保存到闪存、手机中,软件还提供了便携加密组件的制作,可以直接在闪存等设备中添加解密组件以方便使用。
如何保存密钥文件更安全
下面是一个进行加密的工具类,加密类会产生一个密钥文件,密钥文件保存到了硬盘文件中,程序中要进行对数据的加解密操作。密钥文件保存在文件,别人也就可以读取密钥文件,获得加密数据的内容。publicclass EncryptUtil { privatestatic String keyPath = null; privatestatic String getKeyPath() { keyPath = "c:\\yhb.des"; return keyPath; } /** * 对称加密-产生密钥 */publicstaticvoid generatorKey() { SecretKey key = null; try { // 指定算法,这里为DES;如果想用Blowfish算法,则用getInstance("Blowfish") // BouncyCastle基本上支持所有通用标准算法 KeyGenerator keygen = KeyGenerator.getInstance("DES"); // 指定密钥长度,长度越高,加密强度越大 keygen.init(56); // 产生密钥 key = keygen.generateKey(); // 构造输出文件,这里的目录是动态的,根据用户名称来构造目录 ObjectOutputStream keyFile = new ObjectOutputStream( new FileOutputStream(getKeyPath())); keyFile.writeObject(key); keyFile.close(); } catch (NoSuchAlgorithmException e5) { e5.printStackTrace(); System.exit(0); } catch (IOException e4) { e4.printStackTrace(); System.exit(0); } } /** * 对称加密-读取密钥. */privatestatic SecretKey getSecretKey() { // 从密钥文件中读密钥 SecretKey key = null; try { ObjectInputStream keyFile = new ObjectInputStream( new FileInputStream(getKeyPath())); key = (SecretKey) keyFile.readObject(); keyFile.close(); } catch (FileNotFoundException ey1) { e1.printStackTrace(); System.exit(0); } catch (Exception ey2) { e2.printStackTrace(); } return key; } /** * 加密文本信息. */publicstatic String encrypt(String encryptStr) { SecretKey key = getSecretKey(); Cipher cipher = null; try { // 设置算法,应该与加密时的设置一样 cipher = Cipher.getInstance("DES"); // 设置解密模式 cipher.init(Cipher.ENCRYPT_MODE, key); } catch (Exception ey3) { ey3.printStackTrace(); } byte[] data = null; try { data = cipher.doFinal(encryptStr.getBytes()); } catch (IllegalBlockSizeException e) { e.printStackTrace(); } catch (BadPaddingException e) { e.printStackTrace(); } encryptStr = Base64.encodeBase64String(data); return encryptStr; } /** * 解密文本信息. */publicstatic String decrypt(String decryptStr) { SecretKey key = getSecretKey(); // 用key产生Cipher Cipher cipher = null; try { // 设置算法,应该与加密时的设置一样 cipher = Cipher.getInstance("DES"); // 设置解密模式 cipher.init(Cipher.DECRYPT_MODE, key); } catch (Exception ey3) { ey3.printStackTrace(); System.exit(0); } byte[] data = Base64.decodeBase64(decryptStr); try { data = cipher.doFinal(data); } catch (IllegalBlockSizeException e) { e.printStackTrace(); } catch (BadPaddingException e) { e.printStackTrace(); } decryptStr = new String(data); return decryptStr; } }
如何在php中执行java代码?
windows下的安装 第一步:安装JDK,这是非常容易的,你只需一路回车的安装好。然后做好以下步骤。 在 Win9x 下加入 :“PATH=%PATH%;C:\jdk1.2.2\bin” 到AUTOEXEC.BAT文件中 在 NT /Win2000下加入 “;C:\jdk1.2.2\bin”到环境变量中。 这一步是非常重要的,这样PHP才能正确的找到需调用的JAVA类。 第二步:修改你的PHP.INI文件。 [java] extension=php_java.dll java.library.path=c:\web\php4\extensions\ java.class.path="c:\web\php4\extensions\jdk1.2.2\php_java.jar;c:\myclasses" 在PHP.INI中加入extension=php_java.dll 并在[java]中,设定好java.class.path,让它指向php_java.jar,如果你使用新的JAVA类,你也应该存入这个路径,在这篇例子中,我们使用c:\myclasses这个目录。 第三步:测试环境,创建如下PHP文件:getProperty("java.version")."\n"; print "Java vendor=".$system->getProperty("java.vendor")."\n\n"; print "OS=".$system->getProperty("os.name")." ". $system->getProperty("os.version")." on ". $system->getProperty("os.arch")."\n"; $formatter = new Java("java.text.SimpleDateFormat","EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz"); print $formatter->format(new Java("java.util.Date"))."\n"; ?>