導航:首頁 > 編程語言 > javamac演算法

javamac演算法

發布時間:2022-05-01 08:15:41

① 怎樣在mac上編寫並運行java程序

工具/原料

一台蘋果系統的筆記本電腦

eclipse軟體

方法/步驟

1.查詢登錄eclipse官網,由於我是用Java開發的所以步驟如下:

2.找到「EclipseIDEforjavaDevelopers」此處右上角會根據你當前使用的系統自動選擇,Mac下就會自動選擇位「MacOSX(Cocoa)」

② 分享Java常用幾種加密演算法

簡單的Java加密演算法有:
第一種. BASE
Base是網路上最常見的用於傳輸Bit位元組代碼的編碼方式之一,大家可以查看RFC~RFC,上面有MIME的詳細規范。Base編碼可用於在HTTP環境下傳遞較長的標識信息。例如,在Java Persistence系統Hibernate中,就採用了Base來將一個較長的唯一標識符(一般為-bit的UUID)編碼為一個字元串,用作HTTP表單和HTTP GET URL中的參數。在其他應用程序中,也常常需要把二進制數據編碼為適合放在URL(包括隱藏表單域)中的形式。此時,採用Base編碼具有不可讀性,即所編碼的數據不會被人用肉眼所直接看到。
第二種. MD
MD即Message-Digest Algorithm (信息-摘要演算法),用於確保信息傳輸完整一致。是計算機廣泛使用的雜湊演算法之一(又譯摘要演算法、哈希演算法),主流編程語言普遍已有MD實現。將數據(如漢字)運算為另一固定長度值,是雜湊演算法的基礎原理,MD的前身有MD、MD和MD。廣泛用於加密和解密技術,常用於文件校驗。校驗?不管文件多大,經過MD後都能生成唯一的MD值。好比現在的ISO校驗,都是MD校驗。怎麼用?當然是把ISO經過MD後產生MD的值。一般下載linux-ISO的朋友都見過下載鏈接旁邊放著MD的串。就是用來驗證文件是否一致的。
MD演算法具有以下特點:
壓縮性:任意長度的數據,算出的MD值長度都是固定的。
容易計算:從原數據計算出MD值很容易。
抗修改性:對原數據進行任何改動,哪怕只修改個位元組,所得到的MD值都有很大區別。
弱抗碰撞:已知原數據和其MD值,想找到一個具有相同MD值的數據(即偽造數據)是非常困難的。
強抗碰撞:想找到兩個不同的數據,使它們具有相同的MD值,是非常困難的。
MD的作用是讓大容量信息在用數字簽名軟體簽署私人密鑰前被」壓縮」成一種保密的格式(就是把一個任意長度的位元組串變換成一定長的十六進制數字串)。除了MD以外,其中比較有名的還有sha-、RIPEMD以及Haval等。
第三種.SHA
安全哈希演算法(Secure Hash Algorithm)主要適用於數字簽名標准(Digital Signature Standard DSS)裡面定義的數字簽名演算法(Digital Signature Algorithm DSA)。對於長度小於^位的消息,SHA會產生一個位的消息摘要。該演算法經過加密專家多年來的發展和改進已日益完善,並被廣泛使用。該演算法的思想是接收一段明文,然後以一種不可逆的方式將它轉換成一段(通常更小)密文,也可以簡單的理解為取一串輸入碼(稱為預映射或信息),並把它們轉化為長度較短、位數固定的輸出序列即散列值(也稱為信息摘要或信息認證代碼)的過程。散列函數值可以說是對明文的一種「指紋」或是「摘要」所以對散列值的數字簽名就可以視為對此明文的數字簽名。
SHA-與MD的比較
因為二者均由MD導出,SHA-和MD彼此很相似。相應的,他們的強度和其他特性也是相似,但還有以下幾點不同:
對強行攻擊的安全性:最顯著和最重要的區別是SHA-摘要比MD摘要長 位。使用強行技術,產生任何一個報文使其摘要等於給定報摘要的難度對MD是^數量級的操作,而對SHA-則是^數量級的操作。這樣,SHA-對強行攻擊有更大的強度。
對密碼分析的安全性:由於MD的設計,易受密碼分析的攻擊,SHA-顯得不易受這樣的攻擊。
速度:在相同的硬體上,SHA-的運行速度比MD慢。
第四種.HMAC
HMAC(Hash Message Authentication Code,散列消息鑒別碼,基於密鑰的Hash演算法的認證協議。消息鑒別碼實現鑒別的原理是,用公開函數和密鑰產生一個固定長度的值作為認證標識,用這個標識鑒別消息的完整性。使用一個密鑰生成一個固定大小的小數據塊,即MAC,並將其加入到消息中,然後傳輸。接收方利用與發送方共享的密鑰進行鑒別認證等。

③ java最常用的幾種加密演算法

簡單的Java加密演算法有:
第一種. BASE
Base是網路上最常見的用於傳輸Bit位元組代碼的編碼方式之一,大家可以查看RFC~RFC,上面有MIME的詳細規范。Base編碼可用於在HTTP環境下傳遞較長的標識信息。例如,在Java Persistence系統Hibernate中,就採用了Base來將一個較長的唯一標識符(一般為-bit的UUID)編碼為一個字元串,用作HTTP表單和HTTP GET URL中的參數。在其他應用程序中,也常常需要把二進制數據編碼為適合放在URL(包括隱藏表單域)中的形式。此時,採用Base編碼具有不可讀性,即所編碼的數據不會被人用肉眼所直接看到。
第二種. MD
MD即Message-Digest Algorithm (信息-摘要演算法),用於確保信息傳輸完整一致。是計算機廣泛使用的雜湊演算法之一(又譯摘要演算法、哈希演算法),主流編程語言普遍已有MD實現。將數據(如漢字)運算為另一固定長度值,是雜湊演算法的基礎原理,MD的前身有MD、MD和MD。
MD演算法具有以下特點:
壓縮性:任意長度的數據,算出的MD值長度都是固定的。
容易計算:從原數據計算出MD值很容易。
抗修改性:對原數據進行任何改動,哪怕只修改個位元組,所得到的MD值都有很大區別。
弱抗碰撞:已知原數據和其MD值,想找到一個具有相同MD值的數據(即偽造數據)是非常困難的。
強抗碰撞:想找到兩個不同的數據,使它們具有相同的MD值,是非常困難的。
MD的作用是讓大容量信息在用數字簽名軟體簽署私人密鑰前被」壓縮」成一種保密的格式(就是把一個任意長度的位元組串變換成一定長的十六進制數字串)。除了MD以外,其中比較有名的還有sha-、RIPEMD以及Haval等。
第三種.SHA
安全哈希演算法(Secure Hash Algorithm)主要適用於數字簽名標准(Digital Signature Standard DSS)裡面定義的數字簽名演算法(Digital Signature Algorithm DSA)。對於長度小於^位的消息,SHA會產生一個位的消息摘要。該演算法經過加密專家多年來的發展和改進已日益完善,並被廣泛使用。該演算法的思想是接收一段明文,然後以一種不可逆的方式將它轉換成一段(通常更小)密文,也可以簡單的理解為取一串輸入碼(稱為預映射或信息),並把它們轉化為長度較短、位數固定的輸出序列即散列值(也稱為信息摘要或信息認證代碼)的過程。散列函數值可以說是對明文的一種「指紋」或是「摘要」所以對散列值的數字簽名就可以視為對此明文的數字簽名。
SHA-與MD的比較
因為二者均由MD導出,SHA-和MD彼此很相似。相應的,他們的強度和其他特性也是相似,但還有以下幾點不同:
對強行攻擊的安全性:最顯著和最重要的區別是SHA-摘要比MD摘要長 位。使用強行技術,產生任何一個報文使其摘要等於給定報摘要的難度對MD是^數量級的操作,而對SHA-則是^數量級的操作。這樣,SHA-對強行攻擊有更大的強度。
對密碼分析的安全性:由於MD的設計,易受密碼分析的攻擊,SHA-顯得不易受這樣的攻擊。
速度:在相同的硬體上,SHA-的運行速度比MD慢。
第四種.HMAC
HMAC(Hash Message Authentication Code,散列消息鑒別碼,基於密鑰的Hash演算法的認證協議。消息鑒別碼實現鑒別的原理是,用公開函數和密鑰產生一個固定長度的值作為認證標識,用這個標識鑒別消息的完整性。使用一個密鑰生成一個固定大小的小數據塊,即MAC,並將其加入到消息中,然後傳輸。接收方利用與發送方共享的密鑰進行鑒別認證等。

④ Java獲取電腦mac地址,如果是雙網卡獲取的mac地址是不是隨機的

取mac要先得到NetworkInterface對象,多網卡的話會有多個對象,所以要看你在哪個對象上取mac了,反正不會是隨機

⑤ java怎麼生成本機mac地址

來走一個


publicstaticvoidmain(String[]args)throwsUnknownHostException,SocketException{
InetAddressinetAddress=InetAddress.getLocalHost();
//獲取網卡,獲取地址
byte[]mac=NetworkInterface.getByInetAddress(inetAddress).getHardwareAddress();
StringBuffersb=newStringBuffer("");
for(inti=0;i<mac.length;i++){
if(i!=0){
sb.append("-");
}
//位元組轉換為整數
inttemp=mac[i]&0xff;
Stringstr=Integer.toHexString(temp);
if(str.length()==1){
sb.append("0"+str);
}else{
sb.append(str);
}
}
System.out.println("本機MAC地址:"+sb.toString().toUpperCase());
}


輸出:

本機MAC地址:B8-88-E3-FA-03-39


⑥ 如何用mac系統java編程

不用配置環境 連jdk都不用裝 mac系統已經自動載入了java環境 你用mac終端編寫就可以 編寫語言與win上的dos基本一致 或者安裝一個第三方開發軟體最好 推薦myeclipse

⑦ 如何用java實現一個加密演算法(現有的這個是C寫的,想要一個java的)菜鳥一個,求高手幫忙····

import java.io.*; //引入io包
public class TxtEncrypt
{
public static void main(String args[ ]) //主函數
{
System.out.println("輸入一個字元作為密鑰:");
char key = System.in.read();//等待用戶輸入一個字元作為密鑰
File fileOne=new File("hello.txt"), //要加密的文件
fileTwo=new File("hello.secret");//加密後的文件
char b[]=new char[100]; //緩沖字元數組
try{
FileReader in=new FileReader(fileOne); //創建讀文件流,也可以叫文件輸入流
FileWriter out=new FileWriter(fileTwo); //創建寫文件流,也可以叫文件輸出流
int n=-1; //定義變數,存放read讀的返回值
while((n=in.read(b))!=-1) //如果變數n為-1,則文件到達末尾
{
for(int i=0;i<n;i++) //循環,從字元數組b中讀取字元
{
b[i]=(char)(b[i]^key); //加密,講字元數組b中的每個字元跟a異或,然後放入b中
}
out.write(b,0,n); //然後把b中的所有字元寫入到writer流中,也就是hello.secret文件中
}
out.close(); //讀完之後,關閉輸出流
in=new FileReader(fileTwo); //創建hello.secret文件的讀文件流
System.out.println("加密後的文件內容:"); //輸出字元串
while((n=in.read(b))!=-1) //當文件沒有到達末尾,一直執行下面的循環體
{
String str=new String(b,0,n); //把b中的字元放入字元串變數str中
System.out.println(str); //輸出str中的值 (整個循環的意思是把加密後的文件輸出到屏幕上)
}
in=new FileReader(fileTwo); //創建hello.secret文件的讀文件流
System.out.println("解密後的文件內容:"); //輸出字元串
while((n=in.read(b))!=-1) //當文件沒有到達末尾,一直執行下面的循環體
{
for(int i=0;i<n;i++) //for循環
{
b[i]=(char)(b[i]^key); //把b字元數組中的每個字元跟a異或(同一個字元異或兩次之後,得到原來的字元)
}
System.out.println(new String(b,0,n)); //輸出b中的所有字元
}
in.close(); //關閉輸入流
}
catch(IOException e)
{
System.out.println(e); //捕獲io異常
}
}
}

⑧ 請問在mac os下如何實現java編程 如何調試系統環境呢

的 所以買蘋果機器外箱打開無所謂 一定要看包在機器身上的那層塑料膜
MAC用的都是蘋果自帶的OS系統 C C++之類的我還真不知道 建議還是安個精簡版的XP系統 兼容性好 而且很方便
下個WMWARE 在蘋果系統下能方便開啟XP系統 兩個系統共用 在PRO強大配置下應該是很流暢的
希望對你說的有幫助
蘋果電池個人覺得確實時間不怎麼長 但是XP系統下兩個多小時肯定是可以達到的
XCODE 是比C C++更便捷更好用的編程軟體 這個是在網路DOWN的 你看看吧

Xcode 2.0 是開發人員建立 Mac OS X 應用程序的最快捷方式,也是利用新的蘋果電腦公司技術的最簡單的途徑。Xcode 2.0 將 Mac OS X 的輕松使用,UNIX 能量以及高性能的開發技術集合在一起。
不管你用 C、C++、 Objective-C 或 Java 編寫程序,在 AppleScript 里編寫腳本,還是試圖從另一個奇妙的工具中轉移編碼,你會發現 Xcode 編譯速度極快。每次操作都很快速和輕松。
[編輯本段]自由撤消
Xcode 2.0 的虛擬模型和設計功能讓你可以更輕松的開發和維護應用程序。只需選擇應用程序中想要編寫的部分,然後模型和設計系統將自動創建分類圖表,不僅可以顯示編碼,還可以讓你進行瀏覽。Mac OS X Core Data API 幫你的應用程序創建數據結構。更棒的是,它還自動提供撤消、重做和保存功能,無需編寫任何編碼。
[編輯本段]最新的答案
Xcode 整合的 Apple Reference Library 為所有的蘋果電腦公司開發者文件提供一個單獨的搜索和顯示界面,這些文件包括來自蘋果電腦公司網站的在線文件,以及存放在你電腦上的文件。新的參考資料庫甚至可以幫你將定期更新資料下載到你的電腦,保持文件的最新狀態。Xcode 將幫你快速找到最新的答案。
[編輯本段]先進的編譯器
Xcode 2.0 的核心部分是蘋果電腦公司下一代業界標準的 gcc 編譯器 gcc 4.0。新的編譯器利用許多先進的最優化技術幫你從現存編碼中獲得更多性能。從超級計算世界借鑒來的自動向量化(Auto-vectorization)技術可以幫助你釋放每台 PowerPC G4 和 G5 系統中速度引擎的能量,而不需要編寫向量化編碼。其他的最優化工具則支持反饋定向的最優化,以及隱藏模塊分析。
[編輯本段]無損耗的海量內存
藉助 Mac OS X Tiger 中的新64位支持,Xcode 將賦予你創建諸如計算和渲染引擎應用程序的能力,這些應用程序使用64位內存定址。這非常適合數據集中的應用程序,其通過訪問內存中的數據運行速度更快,遠勝於磁碟訪問。Xcode 將為你提供工具來建立並調試適合 PowerPC G5 和 Mac OS X Tiger 的64位應用程序,還可以讓你創建包含32位和64位執行能力的 Fat Binaries。
[編輯本段]分布式構建
眾所周知,在構建中引進多重處理器可以提高速度,Xcode 能幫你實現這個明顯的結論。利用支持 Rendezvous 的分布式構建功能,可以輕易地把編譯工作量分散到閑置的電腦上來寄放構建,或者更好是在單獨的電腦上開發一個專門的 Xserve 構建寄放區,快速處理那些耗時的任務。
[編輯本段]Java
Xcode 2.0 擁有眾多功能,為 Java 開發人員賦予了更多的開發能力。利用改進的 Code Sense 索引及 Ant 項目模板,Java 用戶可以繼續使用他們的標准 Java 包,並構建具有 Xcode 關鍵生產功能的工具。Java 代碼填充為你提供類別名、方法、變數及其他關鍵信息。在 Xcode 中創建 Java 應用程序比以往更容易。
[編輯本段]CodeWarrior 輸入
因為 Xcode 支持 CodeWarrior 風格相關項目參考,所以可以保證把 CodeWarrior 項目文件快速方便地轉移到 Xcode。因為 Xcode 兼容 CodeWarrior 風格在線編碼匯編,所以從 CodeWarrior 到 Xcode 轉變的消耗得到降低, 也使得開發人員手動調整應用程序的臨界性能部分。
蘋果電腦公司的 Mac OS X 綜合開發環境 Xcode 為各種類型的 Mac OS X 軟體項目提供項目編輯、搜索和瀏覽,文件編輯,項目構建和調試設備等功能。
Xcode 可用來輔助開發應用程序、工具、架構、資料庫、嵌入包、核心擴展和設備驅動程序。Xcode 支持開發人員使用 C、 C++、Objective C、 AppleScript 和 Java。
Xcode 能夠和 Mac OS X 里眾多其它的工具協作,例如綜合用戶界面結構應用程序;編譯器如 gcc、 javac 和 jikes;還有調試工具如 gdb。
另外,你可以用 AppleScript Studio 組增加一個 Aqua 界面到系統和應用程序腳本、命令行工具、以及網路應用程序中。以上三者無論如何都能在任何平台組合成最強大的腳本環境。
[編輯本段]遠程調試
調試全屏幕應用程序(比如游戲)具有很大的挑戰性。將調試窗口放在什麼位置呢?有了 Xcode 2.0 的繪圖遠程調試,所有強大的 Xcode 調試功能(例如數據格式程序、Fix、Continue)都可以在遠程機器上用來調試應用程序。利用與遠程調試階段的加密連接,Xcode 可以保證你的數據安全。

還有什麼問題 可以HI我 樂意解答

閱讀全文

與javamac演算法相關的資料

熱點內容
職業生涯pdf 瀏覽:954
ubuntu安裝軟體php 瀏覽:159
黑馬程序員退學流程 瀏覽:362
網頁伺服器崩潰怎麼回事 瀏覽:651
cnc編程前景怎麼樣 瀏覽:319
lniux命令詳解 瀏覽:493
linuxmysql查詢日誌 瀏覽:368
老捷達夥伴壓縮比 瀏覽:93
改後綴加密 瀏覽:433
郵局選址問題演算法 瀏覽:14
河北伺服器內存雲主機 瀏覽:12
在電腦上怎麼找到加密狗圖標 瀏覽:435
電腦的瀏覽器怎麼打開pdf文件怎麼打開 瀏覽:143
pdf卡片庫下載 瀏覽:12
單片機中二進製表示什麼 瀏覽:726
java網路編程推薦 瀏覽:795
施耐德開關編程 瀏覽:67
組織胚胎學pdf 瀏覽:844
linux查看發包 瀏覽:497
加密貨幣交易所暴利時代 瀏覽:824