JAVA:附加码生成器(图片)

EncryPic.rar Qt下图片加密的两种方式 Base64和异或 立即下载

〔Picture.java〕

package creator.common.attachLogin;

import java.io.*;

public class Picture{

  final int key=1;

  final String error_format_int= "format of color is not rgb.sample /"212|232|0/"";

  final String error_color_input="format of color(num|num|num): num in 0-255";

  /**格式化输出数据**/

  public String manage(String temp){

    String returnStr="";

    temp = encrypt(temp);

    byte[] by =temp.getBytes();

    for(int i=0;i

      returnStr=returnStr+(byte)by[i]+"|";

    }

    return returnStr;

  }

  /**格式化输入数据**/

  public byte[] disManage(String temp){

    int len=0,index=0,i=0,first=0;

    while(( i=temp.indexOf("|",first))>-1){

      len++;

      first=i+1;

    }

    byte[] by=new byte[len];

    first=0;

    while(( i=temp.indexOf("|",first))>-1){

     by[index]=Byte.parseByte(temp.substring(first,i));

     index++;

     first=i+1;

    }

    return by;

  }

 /**随机生成四位的附加码**/

 public String getRandom(){

    int i1 = (int)(java.lang.Math.random()*10);

    int i2 = (int)(java.lang.Math.random()*10);

    int i3 = (int)(java.lang.Math.random()*10);

    int i4 = (int)(java.lang.Math.random()*10);

    return String.valueOf(i1)+String.valueOf(i2)+String.valueOf(i3)+String.valueOf(i4);

  }

  /**加密1:错位处理**/

  public String encrypt(String randomStr){

     String para=random()+randomStr.substring(0,1)+random()+random()+randomStr.substring(1,2);

            para= para+random()+randomStr.substring(2);

     return jiaMi(para);

  }

  /**得到随机数0-9之间**/

  private String random(){

    String temp = String.valueOf((int)(java.lang.Math.random()*10));

    return temp;

  }

  /**加密2:加密处理,此方法可以自己修改**/

  private String jiaMi(String str){

    byte[] by = str.getBytes();

    ByteArrayInputStream in = new ByteArrayInputStream(by);

    int ch;

    int index=0;

    byte[] temp = new byte[in.available()];

    while((ch=in.read())!=-1){

      temp[index]=(byte)(ch-key);

      index++;

    }

    ByteArrayInputStream ins = new ByteArrayInputStream(temp);

    BufferedReader fReader = new BufferedReader(new InputStreamReader(ins));


    try{ return  fReader.readLine();}catch(Exception e){return "";}

  }

  /**从给的数字里得到正确的数字**/

  public String discrypt(String temp){

    String para = jieMi(disManage(temp));

    return para.substring(1,2)+para.substring(4,5)+ para.substring(6,8);

  }

  /**解密处理**/

  private String jieMi(byte[] by){

    ByteArrayInputStream in = new ByteArrayInputStream(by);

    int ch;

    int index=0;

    byte[] temp = new byte[in.available()];

    while((ch=in.read())!=-1){

      temp[index]=(byte)(ch+key);

      index++;

    }

    ByteArrayInputStream ins = new ByteArrayInputStream(temp);

    BufferedReader fReader = new BufferedReader(new InputStreamReader(ins));

   try{ return fReader.readLine();}catch(Exception e){return "";}

  }

  /**分解rgb格式的颜色 num|num|num**/

  public int[] masterData(String temp){

    int index_len=0,index=0,next_index=0;

    int[] return_arr=new int[3];

    boolean break_error=false;

    if(getMax(temp,"|")==2){

      while((index_len=temp.indexOf("|",next_index))>-1){

        if(getInt(temp.substring(next_index,index_len))==256){

          break_error = true;

        }else{

          return_arr[index]=getInt(temp.substring(next_index,index_len));

          next_index=index_len+1;

          index++;

        }

        if(break_error) break;

      }

      if(break_error){

        return null;

      }else{

        return_arr[index] = getInt(temp.substring(next_index));

        return return_arr;

      }

    }else{

      System.out.println(error_format_int+":"+temp);

      return null;

    }

  }

  private int getMax(String temp,String temp2){

    int index=0,index_len=0,index_next=0;

    while((index=temp.indexOf(temp2,index_next))>-1){

      index_len++;

      index_next=index+1;

    }

    return index_len;

  }

  private int getInt(String temp){

    try{

       return Integer.parseInt(temp);

    }catch(Exception e){

       System.out.println(error_color_input+":"+temp);

       return 256;

    }

  }

}

〔CreateImage.java〕

package creator.common.attachLogin;

 

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.awt.*;

import java.awt.image.*;

import java.awt.image.BufferedImage;

import com.sun.image.codec.jpeg.*;

import com.sun.image.codec.jpeg.JPEGCodec;

 

public class CreateImage extends HttpServlet {

  static final private String CONTENT_TYPE = "text/html; charset=gb2312";

  final String input_back_color_error="input rgb backcolor is error";

  final String input_fore_color_error="input rgb forecolor is error";

  private Picture pic = new Picture();


  //Initialize global variables

  public void init() throws ServletException {

  }

  //Process the HTTP Get request

  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //生成图片
    try{
      int imageWidth = 60;
      int imageHeight = 20;

      BufferedImage image = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_RGB);
      Graphics graphics = image.getGraphics();
      graphics.setColor(Color.white);
      graphics.fillRect(0,0,imageWidth,imageHeight);
      graphics.setColor(Color.white);


      FileOutputStream fos = new FileOutputStream("attach.jpg");
      BufferedOutputStream bos = new BufferedOutputStream(fos);
      JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bos);
      encoder.encode(image);
      bos.close();

    }catch(Exception e){
      System.out.println("生成图片出错!");
    }

 

    String queryNum   = request.getParameter("Image");

    String queryRgb="";

    if(request.getParameter("Rgb")!=null){

       queryRgb   = request.getParameter("Rgb");

    }

    response.setHeader("Cache-Control","no-store");

    response.setContentType("image/jpeg");

    ServletOutputStream out=response.getOutputStream();

 

    //jpg格式的背景色图片(于页面风格一样),宽3.6毫米,高1.8毫米

    InputStream imageIn = new FileInputStream(new File("attach.jpg"));

    JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(imageIn);

    BufferedImage image4 = decoder.decodeAsBufferedImage();

    queryNum = pic.discrypt(queryNum);

    Graphics g = image4.getGraphics();

 

    if(queryRgb.length()>1){

      if(pic.masterData(queryRgb)!=null){

        int[] arg = pic.masterData(queryRgb);

        g.setColor(new Color(arg[0],arg[1],arg[2]));

      }

    }else{

      g.setColor(new Color(255,0,0));

    }

    g.drawString(queryNum,0,13);

    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);

    encoder.encode(image4);

    out.close();

  }

 

}

〔web.xml〕


 
    CreateImage
    javabean.com.CreateImage
 
 
    CreateImage
    /servlet/CreateImage
 

〔index.jsp〕

<%@page contentType="text/html; charset=gb2312" %>
<%@page import="javabean.com.Picture"%>







      

附加码:
      &Rgb=255|0|0" align=absBottom vspace=2 border=0>

 
生成附加码图片 所有代码 博文链接:https://guona.iteye.com/blog/128184 立即下载

相关推荐

触摸延时灯课程设计

Multisim源文件下载: 实验名称:­­­­­­­­­­­­­­­­­­­ 课程设计1:触摸延时灯仿真设计 设计要求: 利用单稳态触发器设计触控延时灯,要求利用触发波形的边沿模拟触控点实现触发,触发后3秒灯亮,灯可以亮的时间可在5-10秒之间可调。 设计思路: 利用集成单稳态触发器CD4098设计简易的触摸延时灯电路。应用CD4098可以实现脉冲延时,原理图如下。4脚未触发信号输入端,可通过比较器对触摸产生的信号进行比较后再产生触发信号,使触发准确度得以提高。...

m0_54240221的博客 1万+

java画图_java绘图(基于Graphics2D)

1.绘图基本操作请参考下面基础示例:1 int width = 200, height = 250;2 //创建图片对象3 BufferedImage image = newBufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR);4 //基于图片对象打开绘图5 ...

weixin_29871753的博客 2371

保姆级教程:用vxe-grid给管理后台加个「智能筛选」功能(支持模糊搜索/多选/范围查询)

本文提供了一份详细的Vxe-Grid智能筛选功能实现教程。通过自定义筛选器渲染,文章逐步指导开发者为后台管理系统添加支持模糊搜索、多选下拉和数值范围查询的智能筛选功能,并分享了性能优化与移动端适配等实战经验。

weixin_29021291的博客 535

Java 中的图像图片处理–读取写入图像及获取和设置图像像素

图像的像素值以及如何使用 Java 编程语言设置图像中的像素值。像素是图像的最小单位,由四个分量 Alpha(透明度度量)、红色、绿色、蓝色和简称 (ARGB) 组成。所有分量的值都在 0 到 255 之间(包含这两个值)。零表示该组件不存在,255 表示该组件完全存在。

y871181189的博客 5193

UE4项目迁移指南:如何无缝导入外部.uasset文件并保持材质关联

本文详细解析了将外部.uasset文件无缝导入UE4项目的专业方法。针对手动复制文件时常见的材质关联丢失问题,提供了使用引用查看器进行诊断和修复的实用技巧,并推荐使用引擎内置的“迁移”功能确保资源依赖关系的完整性,帮助开发者高效整合项目资源。

t8u9v0的博客 1046

AI 大模型在电商精准营销中的应用

例如,对于用户 A 和用户 B,通过比较他们对共同评价过的商品的评分差异来确定相似度。其中,(Gain(D,a))表示特征(a)对数据集(D)的信息增益,(Ent(D))表示数据集(D)的信息熵,(V)表示特征(a)的取值个数,(D^{v})表示特征(a)取值为(v)的样本子集。其中,(sim(A,B))表示用户 A 和用户 B 的相似度,(I)表示用户 A 和用户 B 共同评价过的商品集合,(R_{A,i})和(R_{B,i})分别表示用户 A 和用户 B 对商品(i)的评分。(三)营销活动效果预测。

alittlehippo的博客 1627

java制作的图片_使用java实现图片的合成

将两张图片生成一张图片public void graphicsGeneration(String name, String id, String classname, String imgurl,String qrimg) {int imageWidth = 295;// 图片的宽度int imageHeight =333;// 图片的高度image = new BufferedImage(ima...

weixin_39622419的博客 176

锐明技术Crocus系统 DeviceState.do SQL注入漏洞复现

锐明技术Crocus系统 DeviceState.do 接口存在SQL注入漏洞,经过身份验证的远程攻击者除了可以利用SQL注入漏洞获取数据库中的信息(例如,管理员后台密码、站点的用户个人信息)之外,甚至在高权限的情况可向服务器中写入木马,进一步获取服务器系统权限。

0xSec 452

【贴吧向】图片混淆加解密(PicEncrypt)

参考链接 PicEncrypt - github 图片混淆加解密 记录博文 一、前言 有时候,我们在逛贴吧的时候,会有人放出这样类似的图。 或者是这样 接着,可能会给一个神秘密钥,是一串小数,告诉你自己去揭开秘密。 一般,刚接触的小伙伴,肯定是一脸懵逼,这啥玩意啊。但是细细的看,肯定看的出来,这一张有内容的图片,但是像素全部打乱了,根本看不懂。 事实上,他们用的是一款叫 PicEncrypt 的应用。这款应用的作者设计的一个加解密混淆图片的算法,实现这个效果。(咱是用户,就不细究了) 二、简略的介

Enderman_xiaohei的博客 10万+

YOLO26 FP16/INT8混合量化实战:精度无损+速度拉满,边缘设备部署最优解

这是混合量化的灵魂,告诉量化器:哪些层不准动,保留FP16。"""判断是否为量化敏感层 → 是则豁免为FP16返回 True=敏感层(FP16),False=可量化(INT8)"""# 1. 检测头回归分支# 2. 小通道1×1卷积# 3. SiLU 激活# 4. 残差ShortcutYOLO26想要在Jetson、RK3588、昇腾、嵌入式NPU上真正落地,FP16/INT8混合量化是唯一最优解。它的核心逻辑不是玄学,而是工程上的精准取舍能量化的层,全部INT8榨性能;

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 746

在Simulink中搭建一个基于IoT设备间通信协议栈的仿真模型

物联网(IoT)设备间的通信协议栈仿真对于理解不同层级的协议如何协同工作,以及优化网络性能至关重要。通过Simulink结合MATLAB的强大功能,我们可以模拟和分析从物理层到应用层的完整通信过程。下面详细介绍如何使用Simulink进行IoT设备间通信协议栈的仿真。

amy_mhd的博客 155

java编程应用实例,精编 Java 应用编程实例

Java编程实例25例(JavaMail 实例、JOGL入门、jdbc 实例、jboss 实例、JXTreeTable 实例、activeMQ 与 quartz 事例、Spring Security 实例、Portlet 开发指导、Java反射机制、ExtJS的综合示例等)。全文下载点击:目录JAVA:附加码生成器(图片) 3过滤器filter一个小范例 12SimpleJdbcTemplate ...

weixin_34185396的博客 152

14、5G物理层的灵活解决方案:广义频分复用(GFDM)

广义频分复用(GFDM)作为一种高度灵活的5G物理层多载波调制方案,能够满足多样化应用场景的需求,包括高吞吐量的比特管道通信、低功耗高连接数的物联网、超低延迟的触觉互联网以及广覆盖的无线区域网。通过参数化配置,GFDM可适配LTE资源网格,实现与现有系统的兼容与共存。其支持多种解调方式、干扰消除技术、OQAM映射及预编码机制,兼具低带外发射、高频谱效率和强鲁棒性。GFDM还能统一描述OFDM、FBMC、FTN等多种经典与先进波形,成为5G及未来通信系统中极具潜力的通用波形框架。

gold8的专栏 108

ZXing-C++ 二维码与条形码处理:从编译集成到实战应用全指南

二维码与条形码作为数据存储与交换的通用技术,其核心原理是将信息编码为特定规则的黑白图形矩阵或条纹,通过图像识别技术实现数据的快速读取与写入。在C++高性能应用开发中,直接集成原生条码处理库能有效避免引入Python解释器等额外依赖,从而优化二进制体积与执行效率。ZXing-C++作为Apache 2.0许可的纯C++端口,支持QR Code、Data Matrix、PDF417及EAN-13等主流格式,通过清晰的CMake接口与静态链接方式,为嵌入式设备、桌面应用等场景提供了高效的编解码解决方案。本文以实际

weixin_30378623的博客 331

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

探索PicEncryptApp:一款创新的图片加密应用

探索PicEncryptApp:一款创新的图片加密应用 去发现同类优质开源项目:https://gitcode.com/ 在数字时代,信息安全变得愈发重要,而正是一款致力于保护你的隐私和敏感信息的开源项目。这款应用程序利用先进的加密技术,将数据隐藏在看似普通的图片中,让您的秘密信息安全无虞。 项目简介 PicEncryptApp 是一个基于Java的跨平台应用,它允许用户通过一种称为“隐写术”(S...

gitblog_00066的博客 3077

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

贴吧图片混淆解密工具PicEncrypt使用体验

平台的一键部署功能特别方便,生成的demo可以直接在浏览器中体验加解密效果,对想快速尝试的新手很友好。在贴吧等社交平台,我们经常看到一些像素混乱却隐约能辨认内容的图片,这通常是通过PicEncrypt等工具加密的。实际使用流程非常直观:首先选择本地图片导入工具,然后设置一个自定义密钥进行加密操作,生成的混淆图片就可以安全分享了。对于高度敏感的内容,建议使用更专业的加密方式。这类工具的一个有趣应用是制作解密游戏,可以在社交平台分享加密图片,让朋友猜内容或通过线索寻找密钥,增加互动趣味性。

MoonbeamFalcon67的博客 1万+

Base64 加密解密图片

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。 Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为1...

张小竟 1万+

如何在jbuilder设计器里进行界面设计?

最简单就是将layout设置为null,那么你可以随意拖放了  

dotnetguy的专栏 1270

JBUILDER下安装sql server驱动

在JBuilder中使用com.microsoft.jdbc.sqlserver.SQLServerDriver连接sql数据库       关键字     JBuilder 连接 sql 数据库 jdbc   一,你确定你安装的jdbc是否完全版,因为有个单机版只能连接本机上的sql,单机版约2m,完全版约6.5m二、安装好jdbc后,假如目录在C:/Program Files/Microsof

dotnetguy的专栏 1043

struts常见错误

 Strus常见错误及原因分析本篇文章包含了在用Struts开发web应用时经常碰到的一些异常和错误,根据异常或错误信息本身,经常可以找到潜在的错误发生原因。下面列出了一些Struts的常见错误和异常,并给出了一些可能发生此类错误或异常的原因。有的后面有相关连接,你可以通过它找到更多的信息。

dotnetguy的专栏 798
上一篇: Java 面试中的陷阱
下一篇: 如何在jbuilder设计器里进行界面设计?
dotnetguy
博客等级 码龄21年 0粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值