`

数据加密解密处理

阅读更多


//数据加密解密处理
public class Crypt {
  /**
   * ENCODERTEXT
   */
  static final String ENCODERTEXT = "lsdfoglkwjemc-091324jlkmsda-0sd=1234;l;lsdkOPIER203-4LKJSLDJAS0D925JKNNC,MANSLDJQ32ELK1N4SAIp089er0234lkjo9df82l3kjlknf,nzxc,mn;lasdj9wquelq;d]qowe[;wq;qkwellsdkfj0-0POPOAR0W8RPOp-02@#$sdklj$#)0asdlksadLKJFA9820934)(&$3ij09sdj34-sdfj2po345-09dlkfjlkv,mxncv;laskdkl/a;au093hakjh2389~!@%&*%#&^539478(*&)^(&^_*8-*_+++|78w3ihsdnmnclksdj)(*#%*_@$(+#@$)&@#^*&^#@$()(*#@$HDFIkdhfgkjh098k;ldsk.sdv.c,msd;flkp0w34;2lk-=sd0p121o39-werl2k3;4lj09sdflskjlekfj,mv,mcxvjlksjdflksjdl*(#@!&akhduyqweperilmmdxcasnd*(#@9879327kjhasudfewr kwehriwueyrhc ausdgiq7w8e71 cdsh93ol2q32879y8932qwhdkjanhdskjaoe*&w#jh$)(*dsFshc na89wue32e981yewher12(*&#quds)(*i3o1928osaihdaklsdkalkduqowe3290874kljhklasdhlijhqweio4hwe89(*$#$eriho349oij(#*q$OIJHO)(&*#$_)(IUDSOIUoiOIUSAODFU034liusdrogiuet0lsdmc,.mg;lq-091lk3l;kjsdf--123098fe*(JOKJSFD983345oihjdp0(#*$&#@!HKJH!(@#*&ioysdk@#)uhOA7E98R7239845K(*&(#@*$&HKFDJHWERYIWoi)(*&#@&^%@!dsfoi;.;,p[osklejr230897*(&we2&^%@78*(&#@!(7~&*~^@*&^#(*&auroiqkjwrhoasdf89qlrlkjpour09werk23jh"
      ;

  public Crypt() {
  }
  /**
   * @param str String
   * @return String
   */
  public String encrypt(String str) {
    int i, j;
    int seed = ((int) (Math.random() * 255)); //Random1(255);
    int pre = seed & 3;
    int len = str.length();
    int elen = ENCODERTEXT.length();
    String ret = "";
    ret += encodeChar(seed);
    ret += encodeChar((((int) (Math.random() * 255)) & 0xfc) + pre);
    for (i = 0; i < pre; i++) {
      ret += encodeChar((int) (Math.random() * 255));

    }
    for (i = 0, j = seed; i < len; i++) {
      ret += encodeChar((int) ((str.substring(i, i + 1)).getBytes()[0])
          ^ (int) (ENCODERTEXT.substring(j, j + 1).getBytes()[0]));
      if (++j >= elen) {
        j = 0;
      }
    }
    return ret;
  }

  private String encodeChar(int c) { //Writed by Daniel
    String s = "";
    int x = (int) (c / 16);
    if (x > 9) {
      s += (char) (x - 10 + 0x61);
    } else {
      s += x;

    }
    x = c % 16;
    if (x > 9) {
      s += (char) (x - 10 + 0x61);
    } else {
      s += x;

    }
    return s;
  }

  //add by Randy at 02/27/2002 for office floder password
  /**
   * @param str String
   * @return String
   */
  public String decrypt(String str) {
    int seed = decodeChar(str, 0);
    if (!isNaN(seed)) {
      return "";
    }
    int pre = decodeChar(str, 2);
    if (!isNaN(pre)) {
      return "";
    }
    pre = pre & 3;

    String ret = "";
    long x;
    int i, j;
    int len = str.length();
    int elen = ENCODERTEXT.length();

    for (i = pre + pre + 4, j = seed; i < len; i += 2) {
      x = decodeChar(str, i);
      if (!isNaN(x)) {
        return "";
      }
      byte ch = (byte) ENCODERTEXT.charAt(j);
      x ^= ch;
      ret += (char) x;
      if (++j >= elen) {
        j = 0;
      }
    }

    return ret;
  }

  private int decodeChar(String str, int i) {
    try {
      return Integer.parseInt(str.substring(i, i + 2), 16);
    } catch (NumberFormatException err) {
      return -1;
    }
  }

  private boolean isNaN(long num) {

    if (num < 0) {
      return false;
    }
    return true;

  }

}

分享到:
评论

相关推荐

    ORACLE数据加密解密处理的设计及实现.pdf

    "ORACLE数据加密解密处理的设计及实现.pdf" 本文档介绍了ORACLE数据库中数据加密解密处理的设计及实现,旨在解决企业信息化建设中信息安全问题。通过Powerbuilder数据窗口对表中所有解密数据进行编辑,编辑完成后...

    ORACLE数据加密解密处理的设计及实现 (1).pdf

    ORACLE数据加密解密处理的设计及实现 oracle数据库加密解密处理是关系型数据库安全的一个重要方面。随着企业信息化建设的推进,信息安全变得越来越重要。该文档对ORACLE数据库加密解密处理的设计及实现进行了详细...

    SpringBoot接口加密解密统一处理

    为了保护敏感信息,我们需要对接口的请求参数和响应结果进行加密解密处理。在本文中,我们将深入探讨如何在SpringBoot中实现接口的加密解密统一处理,以及如何通过自定义注解来灵活控制加密解密的执行。 首先,我们...

    php实现的加密解密处理类.zip

    这个压缩包提供的“加密解密处理类”可能是为了简化这个过程,提供了一种封装好的解决方案。它可能包含以下功能: 1. 支持多种加密算法:类库可能会提供对多种加密算法的支持,允许开发者根据需求选择合适的算法。 ...

    Oracle自定义加密解密函数:数据安全合规·数据脱敏·加密存储高效解决方案

    4、详尽注释文档: 提供了完整的函数代码及详细的注释说明,便于用户快速理解与应用,同时降低了维护成本,简化了加密解密流程,提升开发效率。 5、灵活性:提供解密(DECRYPT_DES)和加密(ENCRYPT_DES)两个函数,...

    PHP 加密解密处理类

    在IT行业中,加密和解密是确保数据安全的重要手段,特别是在Web开发中,如PHP语言的应用。本主题将深入探讨“PHP加密解密...通过自定义加密解密处理类,我们可以更好地控制数据安全,确保应用程序能够抵御潜在的攻击。

    DBDevTools_数据加密解密_

    在本文中,我们将深入探讨数据库加密解密的重要性、工作原理以及DBDevTools如何实现这一功能。 首先,了解数据加密的基本概念至关重要。数据加密是一种将明文数据转换成看似随机的密文,以防止未经授权的访问。在...

    C# RSA加密解密

    总结,C#中的RSA加密解密结合Winform界面,为用户提供了直观的操作方式来保护数据。开发者可以通过理解并运用这些概念,构建更复杂的安全系统,确保数据在传输和存储过程中的安全性。在实际项目中,还可以考虑使用...

    基于线性反馈移位寄存器结构实现的简单数据加解密处理及并行计算分析

    本文将详细介绍如何利用LFSR结构实现简单的数据加密解密处理,并探讨其并行计算的能力。 #### 一、基于多项式的简单数据加密与解密处理 ##### 1.1 加密过程 **电路结构** 对于一个基于多项式 \(X^8+X^4+X^3+X+1\...

    加密解密小玩具v0.6.rar

    《加密解密小玩具v0.6》通过提供这些算法的界面化操作,使得用户无需深入理解复杂的密码学原理,也能方便地处理加密解密任务。MyCipherTool.exe是该工具的执行程序,用户可以通过运行这个程序来使用上述功能。无论是...

    C语言实现DES加密解密算法

    DES加密解密算法的C语言实现 DES(Data Encryption Standard)是一种对称密钥 BLOCK 加密算法,使用 56 ...DES 加密解密算法的 C 语言实现需要理解字节与二进制转换、密钥处理、加密和解密操作以及基本操作等知识点。

    JAVA数据加密解密的实例+Java实用源码整理learns

    本资源"JAVA数据加密解密的实例+Java实用源码整理learns"提供了关于Java中数据加密解密的实践案例和相关源码,帮助开发者深入理解和应用这些技术。 首先,我们要了解加密的基本概念。加密是一种将原始数据(明文)...

    Qt实现AES加密解密

    在IT领域,加密技术是确保数据安全的重要手段之一。AES(Advanced Encryption Standard)是一种广泛应用的对称加密算法,因其...这个实战例程可以帮助开发者更好地掌握Qt环境下的加密解密操作,提高数据安全保护能力。

    用aes算法对任意长度数据进行加密解密

    它可能包含了输入数据的处理逻辑,如填充和分块,以及AES加密和解密的核心函数。 为了正确使用这个程序,你需要理解输入和输出格式,以及如何设置和使用密钥。在安全实践中,密钥管理也是非常重要的,确保密钥的...

    ENC文件加密解密工具

    在信息安全日益重要的今天,文件加密解密工具成为保护数据隐私的关键工具。"ENC文件加密解密工具",特别是PrimaSoft Encryption Utility,是一款针对ENC文件类型的专业软件,它在保障信息安全方面发挥着重要作用,...

    C#文件加密解密(完整项目)

    本项目"文件加密解密(完整项目)"专注于利用C#进行文件的安全处理,确保数据在传输和存储时的隐私性。 一、C#加密技术基础 C#中实现文件加密主要依赖于.NET Framework提供的加密类库,如System.Security....

    c#中数据加密和解密

    在C#编程中,数据加密和解密是确保信息安全的重要手段。通过加密,可以保护敏感信息免受未经授权的访问和篡改。本实例探讨了如何使用C#来实现数据加密,特别是针对文件中的机密数据。 首先,我们要了解C#中用于数据...

    数据加密,java数据加密解密,2万数据依然没问题

    在这个主题中,我们将深入探讨Java中的数据加密技术,并重点关注描述中提到的2万个数据点的加密处理。 1. **Java加密基础**: Java提供了`javax.crypto`包,它包含了加密算法的实现,如AES(高级加密标准)、DES...

    php+uni-app AES加密解密.rar

    在uni-app中,可以使用JavaScript的crypto-js库来实现AES加密解密。首先,你需要通过HBuilderX引入该库,然后在uni-app代码中使用: ```javascript const CryptoJS = require('crypto-js'); const key = 'your_...

    BAT批处理脚本-加密解密-解密.zip

    在描述中提到的“加密解密”功能,通常涉及数据安全领域。在批处理脚本中实现加密和解密可能使用到各种命令行工具,例如使用内置的cipher命令进行文件加密,或者利用第三方加密软件的命令行接口。Cipher是Windows...

Global site tag (gtag.js) - Google Analytics