首先引用这个命名空间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进制, 就一样了;