Javascript和C#真正可以互動的DES加解密程式碼
因專案需要,要用js加密後,提交給C#解密,
在網上找了半天,網上有無數個版本,卻找不到一個能互相使用的
甚至就連都是js版本的,都不能互通,汗一個。
因為時間關係,沒有去深究加密程式碼,就隨便下載了一個JS版本的,
並把它改寫成C#版本的
這樣JS加密後的結果,C#也能解密
反之C#加密後的結果,JS也能解密
我把它發出來給大家共享吧
注:原始碼是VS.Net2008版本建立的,裡面包含js的加解密函式和C#的加解密函式
如果你找到什麼bug,或有啥好建議,不妨聯絡一下俺,呵呵:
btw:在改寫過程中,JS支援帶符號位右移(>>>操作符),而C#不支援,
非要把int轉換成uint,再右移(>>操作符)
而operator又不支援>>>
只好寫一個別的函數了。
相關推薦
Javascript和C#真正可以互動的DES加解密程式碼
因專案需要,要用js加密後,提交給C#解密,在網上找了半天,網上有無數個版本,卻找不到一個能互相使用的甚至就連都是js版本的,都不能互通,汗一個。因為時間關係,沒有去深究加密程式碼,就隨便下載了一個JS版本的,並把它改寫成C#版本的 這樣JS加密後的結果,C#也能解密反之C#
php和c#一致的DES加密解密演算法類
DES加解密演算法,在C#與PHP中的通用類。 注意: 1、類中的祕鑰key跟向量iv,均用的同樣的值 2、編碼均採用的utf-8 以下為具體程式碼,可以直接複製去進行實際測試 C#版程式碼: using System; using System.Data;
可通用的C#與Java的Des加解密程式碼
最近專案中需要將Java的DES加密的內容,用C#解密。這裡僅做記錄。1、Java版import java.io.UnsupportedEncodingException; import java.security.SecureRandom; import javax.cr
php實現和c#一致的DES加密解密 (php中呼叫方法)
php實現和c#一致的DES加密解密,可以從網上搜到一大堆,但是測試後發現都沒法用。以下正確程式碼是我經過苦苦才找到的。希望大家在系統整合時能用的上。<p>注意:key的長度為8位以內。</p> //C# 版DES 加解密演算法 using Syst
ios objective-c java php des加解密統一
轉來的–>原文地址 用到裡面的iOS和java是OK的。 java: import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.
C# DES加解密
Key為八位字串 /// <summary> /// DES加密字串 /// </summary> /// <param name="pToEncrypt">待加密的字串</param> /// <param name="sKey"&
des加解密(JavaScript&Java)
前言:剛學h5沒多久,感覺吧比android難多了啊,特別是適配,真尼瑪苦逼啊,不過h5的大牛還是很多的,畢竟這麼多年了,隨便一搜就一大堆,正是因為這樣,今天剛好後臺需要用des對稱加密傳輸資料,然後就上網一搜,真尼瑪一大堆啊,最後找到了一個叫crypto-js
C#/JAVA/PHP 互通DES加解密演算法(ECB模式支援8位)
import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingE
Des加解密
轉字符串 pri rgs str 自己 rst public 初始化 工具 import java.security.*; import javax.crypto.Cipher; import javax.crypto.SecretKey; import java
PHP 基礎篇 - PHP 中 DES 加解密詳解
tor 數據加密 解密 ans eat mark encrypted hex 基礎 一、簡介 DES 是對稱性加密裏面常見一種,全稱為 Data Encryption Standard,即數據加密標準,是一種使用密鑰加密的塊算法。密鑰長度是64位(bit),超過位數密鑰被忽
Java之DES加解密解析
說明:上篇RSA是一種非對稱的加解密演算法,今天這種是一種對稱的加解密演算法DESDES演算法的入口引數有三個:Key、Data、Mode。其中Key為7個位元組共56位,是DES演算法的工作金鑰;Data為8個位元組64位,是要被加密或被解密的資料;Mode為DES的工作方式,有兩種:加密或解密。Jav
DES 加解密
一、DES加解密工具類 package com.hans.common.util; import java.io.*; import java.security.InvalidKeyException; import java.security.NoSuchAlgorit
C/C++ 實現檔案透明加解密
今日遇見一個開超市的朋友,真沒想到在高校開超市一個月可以達到月淨利潤50K,相比起我們程式設計師的工資,真是不可同日而語,這個世道啊,真是做程式設計師不如經商開超市,我們高科技的從業者,真是造原子彈不如賣茶葉蛋。請見程式碼詳細註釋// 修復涉及後視列表的Win2K相容性//
[教程技巧] 簡析Swift和C的互動
轉自貓·仁波切的部落格(微博)其中 @asmname 的兩個用法源於我的猜測驗證,用到了 Xcode, lldb, nm, llvm ir 等工具或格式。其中 name mangling 部分源自 WWDC。相關的分析主要基於我 dump 出的 Swift 標準庫宣告程
C語言AES加解密程式碼實現
#include<stdio.h> #include<string.h> #include<string> #include<iostream> #include<unistd.h> #include<algorithm> us
JNI介面實現Java和C的互動
當面對帶有原生代碼的 Java 的應用程式時,程式設計師問的最通常的問之一,是在 Java 程式語言中的資料型別怎樣對映到本地程式語言C和C++中的資料型別。實際上,大多數程式將需要傳遞引數給本地方法,和也從本地方法接受結果。 1、基本型別的對映
公鑰和私鑰的含義,以及java客戶端和伺服器之間進行安全加解密的簡單實現
所謂公鑰和私鑰,一般是指在一個伺服器中,每個伺服器各自有自己的公鑰和私鑰,私鑰絕對保密,不可洩露,而公鑰會提供給可以被訪問的伺服器知曉。 如果serverA和serverB進行資料互動 那麼ServerA會知道B的公鑰 在傳送資料時 資料內容使用B的公鑰加密,傳送給B 數字
關於JAVA中RSA加簽解籤,私鑰加密公鑰解密和公鑰加密私鑰解密程式碼詳解
在專案中遇到的問題百度了許久總結出來的 私鑰加密公鑰解密和公鑰加密私鑰解密。 一般為了安全採用的是私鑰加密,公鑰解密(公鑰可以用Base64轉換後公開) package com.paic.ebank.creditcard.common.util; import java.s
Java 10進位制byte陣列與16進位制byte陣列互轉 及 在DES加解密中的使用
一、10進位制byte陣列與16進位制byte陣列互轉 1. 10進位制byte陣列轉成16進位制byte陣列 Java中10進位制byte用二進位制表示佔用8位,16進位制的每個字元需要用4位二進位制位來表示,則將每一個10進位制 位元組的高4位、低4位分別進行處理,對應
Linux下lua安裝以及和c的互動
lua安裝,與c互動的過程記錄 lua安裝 在此我的機器環境是cenos 6.8 我安裝的是lua5.1.4版本 安裝lua編譯的相關依賴 yum -y install readline