几维安全

时间:2024-04-22 05:10:10编辑:奇闻君

很多APP加固平 台都提供免费和付费加密服务,本人想咨询一下几维安全免费与定制服务有哪些区别?

在线免费加密服务:只可使用在线免费加密服务,包括iOS加密[静态库加密]、安卓加密[APK加密、静态库加密]、脚本加密[C#脚本加密、Lua脚本加密]

离线定制加密服务:与免费加密服务相比,其加密功能点强度更高,覆盖面更全,形成完整的防护体系。并且在使用方面没有项目类型的约束。同时支持应用、静态库和动态库项目。


几维安全是不是可以做app检测 安全评估?

腾讯手机管家依托腾讯安全联合实验室领先的技术实力,基于腾讯安全开放平台,对外输出技术和能力,与各大手机厂商达成合作,将安全功能置于系统底层以提升手机安全性能。目前,三星、魅族、华为、中兴、酷派、联想诸多手机品牌都采用了腾讯手机管家的病毒查杀、骚扰拦截等安全模块或者与腾讯手机管家展开了密切合作,为用户打造更安全的手机使用体验。


请问一下,如何免费使用App加密服务?

几维安全针对中小型企业和个人开发者提供免费加密服务,包括APK加密 [SO库加壳、防二次打包、DLL文件加密]、 静态库加密 [代码混淆和字符串加密]、脚本加密 [C#、Lua]。
注册/登陆 几维安全平台,根据平台导航提示即可使用在线免费加密服务。
温馨提示:静态库加密开放了代码混淆和字符串加密两项功能,在静态防护方面非常实用,针对iOS开发者可编写静态库.a加密后再集成到App中;针对Android开发者,可先编写静态库.a,加密后再链接编译到SO动态库中,最终打包出来的APK还可以继续上传到几维防御平台,对APK做更多加密保护操作,操作完成后,重新签名加密后的APK即可使用。
参考资料:http://www.kiwisec.com/product/detection.shtml


java密码加密与解密

  以下两个类可以很方便的完成字符串的加密和解密   加密 CryptHelper encrypt(password)   解密 CrypHelper decrypt(password)   代码如下   CryptUtils java   [java]   package gdie lab crypt;   import java io IOException;   import javax crypto Cipher;   import javax crypto KeyGenerator;   import javax crypto SecretKey;   import apache xerces internal impl dv util Base ;   public class CryptUtils {   private static String Algorithm = DES ;   private static byte[] DEFAULT_KEY=new byte[] { };   private static String VALUE_ENCODING= UTF ;   /**   * 生成密钥   *   * @return byte[] 返回生成的密钥   * @throws exception   * 扔出异常   */   public static byte[] getSecretKey() throws Exception {   KeyGenerator keygen = KeyGenerator getInstance(Algorithm)   SecretKey deskey = keygen generateKey()   // if (debug ) System out println ( 生成密钥 +byte hex (deskey getEncoded   // ()))   return deskey getEncoded()   }   /**   * 将指定的数据根据提供的密钥进行加密   *   * @param input   * 需要加密的数据   * @param key   * 密钥   * @return byte[] 加密后的数据   * @throws Exception   */   public static byte[] encryptData(byte[] input byte[] key) throws Exception {   SecretKey deskey = new javax crypto spec SecretKeySpec(key Algorithm)   // if (debug )   // {   // System out println ( 加密前的二进串 +byte hex (input ))   // System out println ( 加密前的字符串 +new String (input ))   //   // }   Cipher c = Cipher getInstance(Algorithm)   c init(Cipher ENCRYPT_MODE deskey)   byte[] cipherByte = c doFinal(input)   // if (debug ) System out println ( 加密后的二进串 +byte hex (cipherByte ))   return cipherByte;   }   public static byte[] encryptData(byte[] input) throws Exception {   return encryptData(input DEFAULT_KEY)   }   /**   * 将给定的已加密的数据通过指定的密钥进行解密   *   * @param input   * 待解密的数据   * @param key   * 密钥   * @return byte[] 解密后的数据   * @throws Exception   */   public static byte[] decryptData(byte[] input byte[] key) throws Exception {   SecretKey deskey = new javax crypto spec SecretKeySpec(key Algorithm)   // if (debug ) System out println ( 解密前的信息 +byte hex (input ))   Cipher c = Cipher getInstance(Algorithm)   c init(Cipher DECRYPT_MODE deskey)   byte[] clearByte = c doFinal(input)   // if (debug )   // {   // System out println ( 解密后的二进串 +byte hex (clearByte ))   // System out println ( 解密后的字符串 +(new String (clearByte )))   //   // }   return clearByte;   }   public static byte[] decryptData(byte[] input) throws Exception {   return decryptData(input DEFAULT_KEY)   }   /**   * 字节码转换成 进制字符串   *   * @param byte[] b 输入要转换的字节码   * @return String 返回转换后的 进制字符串   */   public static String byte hex(byte[] bytes) {   StringBuilder hs = new StringBuilder()   for(byte b : bytes)   hs append(String format( % $ X b))   return hs toString()   }   public static byte[] hex byte(String content) {   int l=content length()》 ;   byte[] result=new byte[l];   for(int i= ;i<l;i++) {   int j=i《 ;   String s=content substring(j j+ )   result[i]=Integer valueOf(s ) byteValue()   }   return result;   }   /**   * 将字节数组转换为base 编码字符串   * @param buffer   * @return   */   public static String bytesToBase (byte[] buffer) {   //BASE Encoder en=new BASE Encoder()   return Base encode(buffer)   // return encoder encode(buffer)   }   /**   * 将base 编码的字符串解码为字节数组   * @param value   * @return   * @throws IOException   */   public static byte[] base ToBytes(String value) throws IOException {   //return Base decodeToByteArray(value)   // System out println(decoder decodeBuffer(value))   // return decoder decodeBuffer(value)   return Base decode(value)   }   /**   * 加密给定的字符串   * @param value   * @return 加密后的base 字符串   */   public static String encryptString(String value) {   return encryptString(value DEFAULT_KEY)   }   /**   * 根据给定的密钥加密字符串   * @param value 待加密的字符串   * @param key 以BASE 形式存在的密钥   * @return 加密后的base 字符串   * @throws IOException   */   public static String encryptString(String value String key) throws IOException {   return encryptString(value base ToBytes(key))   }   /**   * 根据给定的密钥加密字符串   * @param value 待加密的字符串   * @param key 字节数组形式的密钥   * @return 加密后的base 字符串   */   public static String encryptString(String value byte[] key) {   try {   byte[] data=value getBytes(VALUE_ENCODING)   data=CryptUtils encryptData(data key)   return bytesToBase (data)   } catch (Exception e) {   // TODO Auto generated catch block   e printStackTrace()   return null;   }   }   /**   * 解密字符串   * @param value base 形式存在的密文   * @return 明文   */   public static String decryptString(String value) {   return decryptString(value DEFAULT_KEY)   }   /**   * 解密字符串   * @param value base 形式存在的密文   * @param key base 形式存在的密钥   * @return 明文   * @throws IOException   */   public static String decryptString(String value String key) throws IOException {   String s=decryptString(value base ToBytes(key))   return s;   }   /**   * 解密字符串   * @param value base 形式存在的密文   * @param key 字节数据形式存在的密钥   * @return 明文   */   public static String decryptString(String value byte[] key) {   try {   byte[] data=base ToBytes(value)   data=CryptUtils decryptData(data key)   return new String(data VALUE_ENCODING)   }catch(Exception e) {   e printStackTrace()   return null;   }   }   }   package gdie lab crypt;   import java io IOException;   import javax crypto Cipher;   import javax crypto KeyGenerator;   import javax crypto SecretKey;   import apache xerces internal impl dv util Base ;   public class CryptUtils {   private static String Algorithm = DES ;   private static byte[] DEFAULT_KEY=new byte[] { };   private static String VALUE_ENCODING= UTF ;   /**   * 生成密钥   *   * @return byte[] 返回生成的密钥   * @throws exception   * 扔出异常   */   public static byte[] getSecretKey() throws Exception {   KeyGenerator keygen = KeyGenerator getInstance(Algorithm)   SecretKey deskey = keygen generateKey()   // if (debug ) System out println ( 生成密钥 +byte hex (deskey getEncoded   // ()))   return deskey getEncoded()   }   /**   * 将指定的数据根据提供的密钥进行加密   *   * @param input   * 需要加密的数据   * @param key   * 密钥   * @return byte[] 加密后的数据   * @throws Exception   */   public static byte[] encryptData(byte[] input byte[] key) throws Exception {   SecretKey deskey = new javax crypto spec SecretKeySpec(key Algorithm)   // if (debug )   // {   // System out println ( 加密前的二进串 +byte hex (input ))   // System out println ( 加密前的字符串 +new String (input ))   //   // }   Cipher c = Cipher getInstance(Algorithm)   c init(Cipher ENCRYPT_MODE deskey)   byte[] cipherByte = c doFinal(input)   // if (debug ) System out println ( 加密后的二进串 +byte hex (cipherByte ))   return cipherByte;   }   public static byte[] encryptData(byte[] input) throws Exception {   return encryptData(input DEFAULT_KEY)   }   /**   * 将给定的已加密的数据通过指定的密钥进行解密   *   * @param input   * 待解密的数据   * @param key   * 密钥   * @return byte[] 解密后的数据   * @throws Exception   */   public static byte[] decryptData(byte[] input byte[] key) throws Exception {   SecretKey deskey = new javax crypto spec SecretKeySpec(key Algorithm)   // if (debug ) System out println ( 解密前的信息 +byte hex (input ))   Cipher c = Cipher getInstance(Algorithm)   c init(Cipher DECRYPT_MODE deskey)   byte[] clearByte = c doFinal(input)   // if (debug )   // {   // System out println ( 解密后的二进串 +byte hex (clearByte ))   // System out println ( 解密后的字符串 +(new String (clearByte )))   //   // }   return clearByte;   }   public static byte[] decryptData(byte[] input) throws Exception {   return decryptData(input DEFAULT_KEY)   }   /**   * 字节码转换成 进制字符串   *   * @param byte[] b 输入要转换的字节码   * @return String 返回转换后的 进制字符串   */   public static String byte hex(byte[] bytes) {   StringBuilder hs = new StringBuilder()   for(byte b : bytes)   hs append(String format( % $ X b))   return hs toString()   }   public static byte[] hex byte(String content) {   int l=content length()》 ;   byte[] result=new byte[l];   for(int i= ;i<l;i++) {   int j=i《 ;   String s=content substring(j j+ )   result[i]=Integer valueOf(s ) byteValue()   }   return result;   }   /**   * 将字节数组转换为base 编码字符串   * @param buffer   * @return   */   public static String bytesToBase (byte[] buffer) {   //BASE Encoder en=new BASE Encoder()   return Base encode(buffer)   // return encoder encode(buffer)   }   /**   * 将base 编码的字符串解码为字节数组   * @param value   * @return   * @throws IOException   */   public static byte[] base ToBytes(String value) throws IOException {   //return Base decodeToByteArray(value)   // System out println(decoder decodeBuffer(value))   // return decoder decodeBuffer(value)   return Base decode(value)   }   /**   * 加密给定的字符串   * @param value   * @return 加密后的base 字符串   */   public static String encryptString(String value) {   return encryptString(value DEFAULT_KEY)   }   /**   * 根据给定的密钥加密字符串   * @param value 待加密的字符串   * @param key 以BASE 形式存在的密钥   * @return 加密后的base 字符串   * @throws IOException   */   public static String encryptString(String value String key) throws IOException {   return encryptString(value base ToBytes(key))   }   /**   * 根据给定的密钥加密字符串   * @param value 待加密的字符串   * @param key 字节数组形式的密钥   * @return 加密后的base 字符串   */   public static String encryptString(String value byte[] key) {   try {   byte[] data=value getBytes(VALUE_ENCODING)   data=CryptUtils encryptData(data key)   return bytesToBase (data)   } catch (Exception e) {   // TODO Auto generated catch block   e printStackTrace()   return null;   }   }   /**   * 解密字符串   * @param value base 形式存在的密文   * @return 明文   */   public static String decryptString(String value) {   return decryptString(value DEFAULT_KEY)   }   /**   * 解密字符串   * @param value base 形式存在的密文   * @param key base 形式存在的密钥   * @return 明文   * @throws IOException   */   public static String decryptString(String value String key) throws IOException {   String s=decryptString(value base ToBytes(key))   return s;   }   /**   * 解密字符串   * @param value base 形式存在的密文   * @param key 字节数据形式存在的密钥   * @return 明文   */   public static String decryptString(String value byte[] key) {   try {   byte[] data=base ToBytes(value)   data=CryptUtils decryptData(data key)   return new String(data VALUE_ENCODING)   }catch(Exception e) {   e printStackTrace()   return null;   }   }   }   CryptHelper java   [java]   package gdie lab crypt;   import javax crypto Cipher;   import javax crypto SecretKey;   import javax crypto SecretKeyFactory;   import javax crypto spec DESKeySpec;   import javax crypto spec IvParameterSpec;   import springframework util DigestUtils;   public class CryptHelper{   private static String CRYPT_KEY = zhongqian ;   //加密   private static Cipher ecip;   //解密   private static Cipher dcip;   static {   try {   String KEY = DigestUtils md DigestAsHex(CRYPT_KEY getBytes()) toUpperCase()   KEY = KEY substring( )   byte[] bytes = KEY getBytes()   DESKeySpec ks = new DESKeySpec(bytes)   SecretKeyFactory skf = SecretKeyFactory getInstance( DES )   SecretKey sk = skf generateSecret(ks)   IvParameterSpec iv = new IvParameterSpec(bytes)   ecip = Cipher getInstance( DES/CBC/PKCS Padding )   ecip init(Cipher ENCRYPT_MODE sk iv )   dcip = Cipher getInstance( DES/CBC/PKCS Padding )   dcip init(Cipher DECRYPT_MODE sk iv )   }catch(Exception ex) {   ex printStackTrace()   }   }   public static String encrypt(String content) throws Exception {   byte[] bytes = ecip doFinal(content getBytes( ascii ))   return CryptUtils byte hex(bytes)   }   public static String decrypt(String content) throws Exception {   byte[] bytes = CryptUtils hex byte(content)   bytes = dcip doFinal(bytes)   return new String(bytes ascii )   }   //test   public static void main(String[] args) throws Exception {   String password = gly ;   String en = encrypt(password)   System out println(en)   System out println(decrypt(en))   }   }   package gdie lab crypt;   import javax crypto Cipher;   import javax crypto SecretKey;   import javax crypto SecretKeyFactory;   import javax crypto spec DESKeySpec;   import javax crypto spec IvParameterSpec;   import springframework util DigestUtils;   public class CryptHelper{   private static String CRYPT_KEY = zhongqian ;   //加密   private static Cipher ecip;   //解密   private static Cipher dcip;   static {   try {   String KEY = DigestUtils md DigestAsHex(CRYPT_KEY getBytes()) toUpperCase()   KEY = KEY substring( )   byte[] bytes = KEY getBytes()   DESKeySpec ks = new DESKeySpec(bytes)   SecretKeyFactory skf = SecretKeyFactory getInstance( DES )   SecretKey sk = skf generateSecret(ks)   IvParameterSpec iv = new IvParameterSpec(bytes)   ecip = Cipher getInstance( DES/CBC/PKCS Padding )   ecip init(Cipher ENCRYPT_MODE sk iv )   dcip = Cipher getInstance( DES/CBC/PKCS Padding )   dcip init(Cipher DECRYPT_MODE sk iv )   }catch(Exception ex) {   ex printStackTrace()   }   }   public static String encrypt(String content) throws Exception {   byte[] bytes = ecip doFinal(content getBytes( ascii ))   return CryptUtils byte hex(bytes)   }   public static String decrypt(String content) throws Exception {   byte[] bytes = CryptUtils hex byte(content)   bytes = dcip doFinal(bytes)   return new String(bytes ascii )   }   //test   public static void main(String[] args) throws Exception {   String password = gly ;   String en = encrypt(password)   System out println(en)   System out println(decrypt(en))   } lishixinzhi/Article/program/Java/hx/201311/26449


java加密的几种方式

基本的单向加密算法: BASE64 严格地说,属于编码格式,而非加密算法MD5(Message Digest algorithm 5,信息摘要算法)SHA(Secure Hash Algorithm,安全散列算法)HMAC(Hash Message Authentication Code,散列消息鉴别码)复杂的对称加密(DES、PBE)、非对称加密算法: DES(Data Encryption Standard,数据加密算法)PBE(Password-based encryption,基于密码验证)RSA(算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman)DH(Diffie-Hellman算法,密钥一致协议)DSA(Digital Signature Algorithm,数字签名)ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)代码参考:/** * BASE64加密 * * @param key * @return * @throws Exception */ public static String encryptBASE64(byte[] key) throws Exception { return (new BASE64Encoder()).encodeBuffer(key); } /** * MD5加密 * * @param data * @return * @throws Exception */ public static byte[] encryptMD5(byte[] data) throws Exception { MessageDigest md5 = MessageDigest.getInstance(KEY_MD5); md5.update(data); return md5.digest(); } /** * SHA加密 * * @param data * @return * @throws Exception */ public static byte[] encryptSHA(byte[] data) throws Exception { MessageDigest sha = MessageDigest.getInstance(KEY_SHA); sha.update(data); return sha.digest(); } } /** * 初始化HMAC密钥 * * @return * @throws Exception */ public static String initMacKey() throws Exception { KeyGenerator keyGenerator = KeyGenerator.getInstance(KEY_MAC); SecretKey secretKey = keyGenerator.generateKey(); return encryptBASE64(secretKey.getEncoded()); } /** * HMAC加密 * * @param data * @param key * @return * @throws Exception */ public static byte[] encryptHMAC(byte[] data, String key) throws Exception { SecretKey secretKey = new SecretKeySpec(decryptBASE64(key), KEY_MAC); Mac mac = Mac.getInstance(secretKey.getAlgorithm()); mac.init(secretKey); return mac.doFinal(data); }

智能门锁的密码是安全的吗?

安不安全,要从两个方面来看。第一个,锁本身。1.购买途径,如果购买的途径不正规,很可能就是山寨货;2.品牌力,要买大品牌,有公信力的品牌,比如三星、松下、Aqara;3.需要有足够的数据支撑,像Aqara 智能锁N200就通过了国家17项关于智能锁的专业测试,这些大品牌一般都能做到;4.锁本身具备足够高级别的安全系统,比如说防撬传感器、防猫眼开锁设计、抵抗小黑盒破解攻击、加密绑定、实时日记记录等等安防技术,看似微小,关键时刻是非常顶用的,不可小觑,据笔者了解,刚上市不久的Aqara智能锁 N200就有这些功能。第二个,就是自己是否有足够的安全防范意识。比如说,密码设置不能过于简单、隔一段时间就需要更改密码、不要跟别人说自家智能锁的密码、经常关注智能门锁传送过来的消息……这些都是生活中细节。我分享一组Aqara智能锁 N200的实时动态,大家可以看看。

问一下移动学习的平台哪家好呢?

如何选择一个移动学习平台,下面给五个建议:
一、产品功能
产品功能是企业选择移动学习平台时最重要的考量要素,因为企业培训管理是一项系统工程,包含需求分析、培训规划、培训组织与实施、培训效果评估等多个环节。对培训工作者来说,有太多太多的难题:如何控制预算、如何评估效果、如何激发学员学习热情、如何促进效果转化、如何提升绩效……一个好的平台可帮助企业节省大量的工作,甚至让培训效果事半功倍。
二、内容资源
平台易建,内容难求,这是每一个企业都头疼的问题。随着平板电脑和智能手机使用量的全面普及,移动学习应用将在企业培训中发挥更大的作用,拥有海量内容的移动学习APP平台将更受青睐。
三、平台接入能力
移动学习技术的应用不仅丰富了培训形式,还改善了员工学习效果,正成为企业加强员工学习的首选。但很多企业上线移动学习项目之后,都不同程度地遭遇到了水土不服的情况。如何让移动学习平台和企业原有体系实现无缝对接,成了众多企业的痛点。
四、信息安全
在这个没有隐私的时代,信息安全问题得到了越来越多人的关注,特别是企业级的移动学习平台,它拥有所有员工的个人信息和企业的所有知识产权课程,甚至部分商业机密,如果出现安全问题,必定会给企业带来不可估量的损失。
五、成本控制
购买一个企业级移动学习平台,市场上的价格动辄百万,成本压力过大,即使有企业愿意出高价引入移动学习平台,但后期的系统维护,平台运营都需要专业团队的技术保障,维护成本不仅高昂,而且难度巨大。


咨询一下,有没有免费apk加密服务的?

朋友你好,很高兴为你解答问题。几维安全安卓应用在线加密服务从去年上线至今,凭借零成本零门槛高强度的加密特点,获得众多中小企业和个人开发者的青睐,一方面保护了应用的源代码,避免攻击者或竞争对手窃取应用的核心技术;另一方面避免了盗版应用的产生。几维安全于2017-07-03对在线免费加密服务进行升级,现提供的免费加密功能包括:DEX文件加密、DLL文件加密、防二次打包、数据监测SDK。首先、普通类应用加密针对普通类应用,通过加密DEX文件,对Java层核心代码进行加密隐藏保护,避免DEX文件被Dex2jar和JD-GUI等工具逆向,分析Java代码的业务逻辑;其次防二次打包功能可有效避免盗版应用的生成,比如对加密的APP进行重新签名,如果签名文件与加密前的签名文件不一致,APP将被识别为盗版应用,无法正常运行。此时客户端APP的异常情况将会上报到几维安全的防御平台,即数据监测SDK,用户登录几维平台即可查看客户端的威胁数据。其次、 Unity3D手游加密针对U3d手游,在普通类应用加密的基础上,还将对DLL文件进行加密,即对C#脚本代码进行加密保护,整个加密过程还会对U3d引擎进行自定义加密,进一步避免攻击者通过U3d的解析函数来提取C#代码。在整个DLL加密基础之上,几维安全又使用源代码加密工具-《安全编译器》对U3d自定义引擎进行源码级的加密保护。如需了解企业级的加密强度与方案,请访问几维安全官网的相关安全产品。再次、使用方式几维安全针对免费用户提供两种形态的使用方式。第一种:《几维离线加密助手》,前往下载页面即可下载相关工具,支持Mac和Win两个平台,下载后注册登录即可使用。该助手将会自动上传APK,根据账号权限自动加密,完成后会自动下载,整个过程中支持断点续传。第二种:在线加密,前往注册登录之后,进去安卓应用加密页面,根据相关提示,上传APK,选择加密服务,开始加密,下载加密包。最后、注意事项待加密APK包是未经过其他加密处理的裸APK包,否则会加密失败2. 加密前需对APK包进行签名,加密后也需对APK进行重新签名,并且前后签名文件必须一致,否则被认为盗版,无法正常运行! 希望以上详细解答能够帮助到你。

上一篇:耀盛中国

下一篇:鹊尔斯酒窖