package javasecurity;
import java.security.*;
import javax.crypto.*;
public class PrivateExample
{
public static void main(String[] args) throws Exception
{
// 检查输入参数,得到明文
if (args.length != 1)
{
System.err.println("Usage: java PrivateExample text");
System.exit(1);
}
byte[] plainText = args[0].getBytes("UTF8");
// 得到DES私钥
System.out.println("\nStart generating DES key");
KeyGenerator keyGen = KeyGenerator.getInstance("DES");
keyGen.init(56);
Key key = keyGen.generateKey();
System.out.println("Finish generating DES key");
// 得到DES cipher 对象,并打印出算法的提供者
Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");
System.out.println("\n" + cipher.getProvider().getInfo());
// 使用密钥对明文进行加密
System.out.println("\nStart encryption");
cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] cipherText = cipher.doFinal(plainText);
System.out.println("Finish encryption: ");
System.out.println(new String(cipherText, "UTF8"));
// 使用同一把密钥对密文进行解密
System.out.println("\nStart decryption");
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] newPlainText = cipher.doFinal(cipherText);
System.out.println("Finish decryption: ");
System.out.println(new String(newPlainText, "UTF8"));
}
}
分享到:
相关推荐
### 反射私有内部类的例子 #### 一、引言 在Java编程语言中,反射(Reflection)是一项强大的功能,允许程序在运行时检查和修改自身结构与行为。通过反射,可以动态地获取类的信息并操作其字段、方法以及构造器等。...
Java 反射机制修改私有成员变量实例 Java 反射机制是 Java 语言中一个强大的工具,它允许程序在运行时检查和修改类的结构和行为。在本例中,我们将使用 Java 反射机制来修改私有成员变量的值。 什么是 Java 反射...
创建一个class,让其只能创建一个实例对象的例子·
在这个例子中,`GetMethod`方法的第二个参数`BindingFlags`用于指定搜索范围,`NonPublic`表示包括私有成员,`Instance`表示查找实例方法。 ### 在单元测试中的应用 私有成员反射调用在单元测试中有时是有用的,...
在这个例子中,`YourClass`是需要测试的类,`yourPrivateMethod`和`yourStaticMethod`分别是私有方法和静态方法。我们使用`when(...).thenReturn(...)`来设置模拟的返回值,然后在测试用例中调用这些方法,确保它们...
私有磁盘源码则是指用于创建虚拟磁盘的程序代码,这种程序可以模拟一个独立的存储空间,用户可以在这个空间内存储数据,而对外界保持隐藏或加密,提高了数据的安全性。 这个"易语言私有磁盘源码.zip"文件是一个...
以下是一个简单的例子,展示如何使用反射访问私有字段: ```java public class PrivateMemberExample { private String secret = "这是私有变量"; // ... } public class HackUtils { public static void main...
在给定的例子中,有一个`Commodity_Parent`类,它包含私有的`commodity_name`和`commodity_price`属性,以及对应的getter和setter方法。这个类被`Commodity_Child`类继承,后者增加了一个私有的`Commodity_number`...
标题中的“一个代码例子”和描述中的“一个简单的例子,让你更好的学习C++,public,一个例子”都指向了一个核心主题:使用C++编程语言的示例代码。在这个例子中,“public”一词可能指的是C++中的访问修饰符,这是...
### Python中的私有属性与方法详解 #### 一、引言 在面向对象编程中,封装是一种重要的设计原则,它允许我们将数据(属性)和行为(方法)组织在一起,并通过控制对外部的可见性来保护这些数据和行为不被非法访问。...
在这个例子中,`Derived`类通过重写`Base`的`myFunction`,修改了虚表,使得通过`Base`指针调用`myFunction`会执行`Derived`的版本。 **多态性与虚函数:** 虚函数是实现多态的关键,它允许一个基类指针或引用调用...
// 使用反射测试私有方法的例子 [TestMethod] public void TestPrivateMethod() { // 创建账户对象 Account account = new Account(); // 获取私有方法的MethodInfo MethodInfo privateMethod = typeof...
下面是一个简单的PHP反射例子,展示了如何使用反射来获取并调用私有方法: ```php class MyClass { private $value = 42; private function secretMethod($add) { return $this->value + $add; } } $instance...
7. **闭包**:理解闭包的概念,它是JavaScript中一个强大的特性,可以用来创建私有变量和函数。 8. **作用域与变量生命周期**:学习全局作用域、局部作用域以及块级作用域,理解let、const和var的差异。 9. **正则...
在上面的例子中,`Employee`类有一个名为`__employee_id`的私有变量,它与`Person`类的`__name`私有变量是完全独立的,即使它们在名字上看起来相似。 总结来说,Python私有变量的用法主要包括: 1. 使用双下划线`__...
在这个例子中,`#x`和`#y`就是Point类的私有属性。通过使用`#`符号,这些属性不能从类的外部直接访问,只能在类的内部使用,比如构造函数和`equals`方法中。如果尝试在类的外部访问`#x`或`#y`,将会得到一个运行时...
在这个例子中,可以看到不同类型的属性和方法的定义方式。下面分别介绍如何访问这些属性和方法。 ##### 3.1 访问公有属性/方法 公有属性和方法可以直接通过对象访问: ```python demo = Demo() print(demo.public_...
本文实例讲述了Python面向对象程序设计之私有属性及私有方法。...首先我讲解下私有属性的例子: 1.下面这个是一个错误的例子: class People(object): def __init__(self,name): self.__name=name def get
在这个例子中,`__age`是私有属性,`__secret`是私有方法,它们都不能直接从外部访问。 02. 伪私有属性和私有方法 虽然Python中的`__`前缀看起来像是私有,但事实上,Python并没有真正的私有属性和方法。Python会...
在工程的根目录,作者修改了CMakeLists.txt文件来定义项目的基本设置,如C++版本(在这个例子中是C++20),并设置了是否构建测试的选项。同时,通过add_subdirectory指令引用子目录中的CMakeLists.txt文件,以便包含...