用Java實現乙個簡單的單秘鑰加密解密演算法

2021-07-10 06:05:09 字數 852 閱讀 2347

近來無聊,就自己簡單的學著寫個簡單的單秘鑰加密解密程式。

這個單秘鑰加解密的實現思路非常簡單,是使用二進位制的異或運算來實現的:0^0=0,0^0=0;0^1=1,1^1=0;1^0=1,1^0=1;1^1=0,0^1=1;其中第乙個為明文text,第二個為秘鑰key。即數學公式為密文ciphertext=text^key,解密時,當接受者接到密文時,假設已知秘鑰key,則可以解出明文text=ciphertext^key。若非接受者,則不知道秘鑰key,則解不出來,或者解出來的是亂碼。程式如下:

解不出密文:

秘鑰不正確,執行的結果為:

秘鑰正確時,執行結果為:

直接輸出亂碼結果的程式:

秘鑰正確的執行結果:

在本程式中,我們封裝了加密演算法,這樣做的目的是為了隱藏我們的加密演算法。

加密演算法的實現如下:

package singleencode;

public class cryptographicalgorithm

}

Java實現乙個簡單的快取

快取是在web開發中經常用到的,將程式經常使用到或呼叫到的物件存在記憶體中,或者是耗時較長但又不具有實時性的查詢資料放入記憶體中,在一定程度上可以提高效能和效率。下面我實現了乙個簡單的快取,步驟如下。public class entitycache public object getdatas pu...

Java實現乙個簡單的棧

棧我們可以理解為乙個箱子,先放進去的東西在最下面,所以是乙個先進後出的原則。下面我們看看乙個簡單的demo。package com.tu.test.stack public class node else else node node current current是我們要出棧的節點 current...

用JAVA實現乙個簡單的埠掃瞄功能

思路,使用socket物件的connect方法,輸入準備掃瞄的主機名和埠號,根據方法執行階段是否丟擲異常來判斷該埠能否正確訪問,具體 如下 param domain 主機網域名稱或者ip param startport 開始埠 param endport 結束埠 private static voi...