首先引用這個命名空間usingSystem.Security.Cryptography;//建立SHA1對象SHA1sha=newSHA1CryptoServiceProvider();//將mystr轉換成byte[]ASCIIEncodingenc=newASCIIEncoding();byte[]dataToHash=enc.GetBytes(mystr);//Hash運算byte[]dataHashed=SHA1.ComputeHash(dataToHash);//將運算結果轉換成stringstringhash=BitConverter.ToString(dataHashed).Replace("-","");returnhash;
⑵ 面java的Sha1加密在c#中對應要怎麼寫
// C# SHA1加密
public string SHA1Encrypt(string pwd)
{
SHA1 sha1 = SHA1.Create();
byte[] bytes =
sha1.ComputeHash(Encoding.Default.GetBytes(pwd));
sha1.Clear();
string result = BitConverter.ToString(bytes);
return result;
}
以下是C#的一些常用加密方式:
// MD5加密
public string MD5Encrypt(string pwd)
{
MD5 md5 = MD5.Create();
byte[] bytes =
md5.ComputeHash(Encoding.Default.GetBytes(pwd));
md5.Clear();
string result = BitConverter.ToString(bytes);
return result;
}
// SHA256加密
public string SHA256Encrypt(string pwd)
{
SHA256 sha = SHA256.Create();
byte[] bytes =
sha.ComputeHash(Encoding.Default.GetBytes(pwd));
sha.Clear();
string result = BitConverter.ToString(bytes);
return result;
}
// SHA384加密
public string SHA384Encrypt(string pwd)
{
SHA384 sha = SHA384.Create();
byte[] bytes =
sha.ComputeHash(Encoding.Default.GetBytes(pwd));
sha.Clear();
string result = BitConverter.ToString(bytes);
return result;
}
// SHA512加密
public string SHA512Encrypt(string pwd)
{
SHA512 sha = SHA512.Create();
byte[] bytes =
sha.ComputeHash(Encoding.Default.GetBytes(pwd));
sha.Clear();
string result = BitConverter.ToString(bytes);
return result;
}
⑶ java加密的幾種方式
朋友你好,很高興為你作答。
首先,Java加密能夠應對的風險包括以下幾個:
1、核心技術竊取
2、核心業務破解
3、通信模塊破解
4、API介面暴露
本人正在使用幾維安全Java加密方式,很不錯,向你推薦,希望能夠幫助到你。
幾維安全Java2C針對DEX文件進行加密保護,將DEX文件中標記的Java代碼翻譯為C代碼,編譯成加固後的SO文件。默認情況只加密activity中的onCreate函數,如果開發者想加密其它類和方法,只需對相關類或函數添加標記代碼,在APK加密時會自動對標記的代碼進行加密處理。
與傳統的APP加固方案相比,不涉及到自定義修改DEX文件的載入方式,所以其兼容性非常好;其次Java函數被完全轉化為C函數,直接在Native層執行,不存在Java層解密執行的步驟,其性能和執行效率更優。
如果操作上有不明白的地方,可以聯系技術支持人員幫你完成Java加密。
希望以上解答能夠幫助到你。
⑷ php 如何實現 java的sha1加密
function encryptTokey($data){
$apikey = 'testapikey111';
$ps1 = sha1($apikey . strtolower($data));
$ps1 = strtoupper($ps1);
$s1 = implode(str_split($ps1, 2), '-');
$ps2 = md5($s1 . $apikey);
$ps2 = strtoupper($ps2);
$token = implode(str_split($ps2, 2), '-');
return $token;
}
echo encryptTokey('testdata');
運行結果:
68-10-98-74-4C-82-74-4B-CC-49-31-98-46-02-EE-8E
詳細你可以去後盾人看看,這些都是後盾人裡面的,哪裡有詳細的視頻教學都是高質量,我自己就是在裡面學的。
⑸ 用java程序進行sha1加密,怎麼弄
publicclassSha1{
/**
*SHA1安全加密演算法
*@parammaps參數key-valuemap集合
*@return
*@throwsDigestException
*/
publicstaticStringSHA1(Map<String,Object>maps)throwsDigestException{
//獲取信息摘要-參數字典排序後字元串
Stringdecrypt=getOrderByLexicographic(maps);
try{
//指定sha1演算法
MessageDigestdigest=MessageDigest.getInstance("SHA-1");
digest.update(decrypt.getBytes());
//獲取位元組數組
bytemessageDigest[]=digest.digest();
//CreateHexString
StringBufferhexString=newStringBuffer();
//位元組數組轉換為十六進制數
for(inti=0;i<messageDigest.length;i++){
StringshaHex=Integer.toHexString(messageDigest[i]&0xFF);
if(shaHex.length()<2){
hexString.append(0);
}
hexString.append(shaHex);
}
returnhexString.toString().toUpperCase();
}catch(NoSuchAlgorithmExceptione){
e.printStackTrace();
thrownewDigestException("簽名錯誤!");
}
}
/**
*獲取參數的字典排序
*@parammaps參數key-valuemap集合
*@returnString排序後的字元串
*/
(Map<String,Object>maps){
returnsplitParams(lexicographicOrder(getParamsName(maps)),maps);
}
/**
*獲取參數名稱key
*@parammaps參數key-valuemap集合
*@return
*/
privatestaticList<String>getParamsName(Map<String,Object>maps){
List<String>paramNames=newArrayList<String>();
for(Map.Entry<String,Object>entry:maps.entrySet()){
paramNames.add(entry.getKey());
}
returnparamNames;
}
/**
*參數名稱按字典排序
*@paramparamNames參數名稱List集合
*@return排序後的參數名稱List集合
*/
privatestaticList<String>lexicographicOrder(List<String>paramNames){
Collections.sort(paramNames);
returnparamNames;
}
/**
*拼接排序好的參數名稱和參數值
*@paramparamNames排序後的參數名稱集合
*@parammaps參數key-valuemap集合
*@returnString拼接後的字元串
*/
(List<String>paramNames,Map<String,Object>maps){
StringBuilderparamStr=newStringBuilder();
for(StringparamName:paramNames){
paramStr.append(paramName);
for(Map.Entry<String,Object>entry:maps.entrySet()){
if(paramName.equals(entry.getKey())){
paramStr.append(String.valueOf(entry.getValue()));
}
}
}
returnparamStr.toString();
}
⑹ 如何使用java進行sha1加密
簡單的做法是
1、使用apache的codec jar包對string進行加密,先下載並引入jar包:http://commons.apache.org/proper/commons-codec/
2、生成:
String sign = DigestUtils.shaHex(str);
3.也可以使用工具在線進行sha加密,參考 hash值(md5, sha1, sha256, sha512,crc32) 在線計算,http://www.it399.com/m/FileHash。望採納,謝謝。
⑺ 用java程序進行sha1加密,怎麼弄
Apache工具類,DigestUtils,如果要自己實現的話,網上很多,maven的話直接點就有源碼
⑻ 用java程序進行sha1加密,怎麼弄
public class _Test2{ public static void main(String[] args) throws FileNotFoundException, IOException { //為了便於理解,所以有的部分為了通俗寫得不夠好 Scanner sc = new Scanner(System.in); String line = sc.nextLine(); line = encr...
⑼ java的sha1加密和object-c的sha1加密後的值不一樣,誰能幫我解決一下。多謝了
結果是一樣的, 但是你多搞了一點: java你是用Base64編碼成字元串, 而ObjC你是直接用16進制輸出的, 你java上不Base64編碼, 也輸出成16進制, 就一樣了;