Thursday, December 29, 2011

Ajax Request

function constructXmlHttpRequest(url,data,funName)
{
if (window.XMLHttpRequest)
{
req = new XMLHttpRequest();
req.onreadystatechange = function()
{
constructResponse(req , funName);
};
req.open("POST", url, true);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
req.send(data);
}
else if (window.ActiveXObject)
{
isIE = true;
req = new ActiveXObject("Microsoft.XMLHTTP");
if(req)
{
req.onreadystatechange = function(){
constructResponse(req , funName);
};
req.open("POST", url, true);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
req.send(data);
}
}
}

function constructResponse( req , funName)
{
if (req.readyState == 4)
{
if (req.status == 200)
{
var callBackFunction = funName +"(request)";
var newFunction = new Function("request",callBackFunction);
newFunction(req);
}
else
{
alert("There was a problem in retrieving the data:\n" +req.statusText);
}
}
}

Get a SystemInfo (VBSCRIPT)

On Error Resume Next
logLocation = WScript.Arguments.Item(0)
Set logFile = CreateObject("Scripting.FileSystemObject")
Set logger = logFile.OpenTextFile(logLocation,2,True)

Set ADSysInfo = CreateObject("ADSystemInfo")
logger.writeline "ComputerName : "&ADSysInfo.ComputerName
logger.writeline "UserName : "&ADSysInfo.UserName
logger.writeline "SiteName : "&ADSysInfo.SiteName
logger.writeline "DomainDNSName : "&ADSysInfo.DomainDNSName
logger.writeline "DomainShortName : "&ADSysInfo.DomainShortName
logger.writeline "ForestDNSName : "&ADSysInfo.ForestDNSName
logger.writeline "IsNativeMode : "&ADSysInfo.IsNativeMode
logger.writeline "PDCRoleOwner : "&ADSysInfo.PDCRoleOwner
logger.writeline "SchemaRoleOwner : "&ADSysInfo.SchemaRoleOwner

For Each var in ADSysInfo.GetTrees
logger.writeline "Tree: " & var
Next

Set objWMIService = GetObject("winmgmts:\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")

For Each objItem in colItems
logger.writeline "OS : "&objItem.Caption
logger.writeline "ServicePack : "&objItem.ServicePackMajorVersion &"."&objItem.ServicePackMinorVersion
logger.writeline "Build Version : "&objItem.Version
logger.writeline "System Directory: "&objItem.SystemDirectory
logger.writeline "OS Language: "&objItem.OSLanguage
logger.writeline "Current Time Zone: "&objItem.CurrentTimeZone
logger.writeline "CSD Version: "&objItem.CSDVersion
Next

Set Battery = objWMIService.ExecQuery("Select * from win32_battery")
i = 0
For Each objItem in Battery
i = i+1
Next

if i = 0 then
logger.writeline "System : Desktop"
else
logger.writeline "System : NotePad"
end if

Set tcpIp = objWMIService.ExecQuery("Select * from win32_networkadapterconfiguration where ipenabled = true")
For Each objItem in tcpIp
For Each ip in objItem.IPAddress
logger.writeline "IPAddress : "&ip
Next
logger.writeline "MACAddress : "&objItem.MACAddress
For Each gw in objItem.DefaultIPGateWay
logger.writeline "DefaultIPGateWay : "&gw
Next
For Each ds in objItem.DNSServerSearchOrder
logger.writeline "DNSServerSearchOrder : "&ds
Next
logger.writeline "DHCPEnabled : "&objItem.DHCPEnabled
logger.writeline "DHCPLeaseExpires : "&objItem.DHCPLeaseExpires
logger.writeline "DHCPLeaseObtained : "&objItem.DHCPLeaseObtained
logger.writeline "DHCPServer : "&objItem.DHCPServer
For Each ips in objItem.IPSubnet
logger.writeline "IPSubnet : "&ips
Next
Next

if Err Then
logger.writeline Date()&" "&Time()&" "&Err.Number&" "&Err.Description
End if

Find a Machine on which Domain(WorkGroup)

Dim sName
Dim logFile

'
' Logger
'
Sub Logger
Set fso = CreateObject("Scripting.FileSystemObject")

Set logFile = fso.OpenTextFile( "C:\ComputerList.txt", 8, True )
End Sub


'
' Get all the NetBIOS namespaces
'
Sub PullAllDomains

Dim objNameSpace
Dim AllNameSpaces
Dim Domain
Dim c

c = 0
Set objNameSpace = GetObject("WinNT:")
For Each Domain in objNamespace
AllNameSpaces = AllNameSpaces & VBCRLF & Domain.Name
c = c + 1
if Instr(sName, Domain.Name) <> 0 then
logFile.writeline Domain.Name & " matches"
else
GetComputerList Domain.Name
End if
Next
logFile.writeline "Namespaces :" & c
logFile.writeline AllNameSpaces

End sub

'
' When passed a namespace returns all computers present in it.
'
sub GetComputerList( ContainerName )

Dim Container
Dim Computer
Dim sTemp
Dim filter
Dim counter
filter = "Computer"
counter = 0
Set Container = GetObject("WinNT://" & ContainerName)
Container.Filter = Array(filter)

For Each Computer In Container
sTemp = sTemp & Computer.Name & VBCRLF
counter = counter + 1
Next

logFile.writeline VBCRLF
logFile.writeline "Machines in " & ContainerName & " : " & counter
logFile.writeline sTemp

End Sub

'
' Finds the current workgroup/domain the local machine is present using WMI.
'
Sub GetLocalDomain

sNode = "."
Set oWMI = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& sNode & "\root\cimv2")
Set colComputer = oWMI.ExecQuery _
("Select DomainRole, Domain from Win32_ComputerSystem")
For Each oComputer in colComputer
iDR = oComputer.DomainRole
sName = oComputer.Domain
Next

If iDR = 0 Or iDR = 2 Then
logFile.writeline "Computer is in workgroup " & sName
Else
logFile.writeline "Computer is in domain " & sName
End If

GetComputerList sName

End Sub

Logger
logFile.writeline Date()&":"&Time()&":" & " Starting discovery ..."
GetLocalDomain
PullAllDomains
logFile.writeline Date()&":"&Time()&":" & " End of discovery ..."

' Close the log file.

logFile.Close

Tuesday, December 13, 2011

Login to FB from java

package test;

import javax.ws.rs.core.MultivaluedMap;

import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.client.WebResource.Builder;
import com.sun.jersey.api.client.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;
import com.sun.jersey.core.util.MultivaluedMapImpl;

public class CallWS {

public static void main(String[] args) throws Exception {

ClientConfig config = new DefaultClientConfig();
com.sun.jersey.api.client.Client client = com.sun.jersey.api.client.Client.create(config);


MultivaluedMap formData = new MultivaluedMapImpl();


formData.add("charset_test","€,´,€,´,水,Д,Є");
formData.add("charset_test","€,´,€,´,水,Д,Є");
formData.add("default_persistent","0");
formData.add("display","");
formData.add("email","YOUR_FACEBOOK_ID");
formData.add("legacy_return","1");
formData.add("login","Log In");
formData.add("lsd","");
formData.add("lsd","");
formData.add("pass","YOUR_FACEBOOK_PASSWORD");
formData.add("return_session","0");
formData.add("session_key_only","0");
formData.add("trynum","2");
System.out.println(formData.toString());

WebResource resource = client.resource("https://www.facebook.com/login.php?login_attempt=1");
// for GET
//ClientResponse response = resource.type("application/x-www-form-urlencoded").get(ClientResponse.class);
Builder builder = resource.type("application/x-www-form-urlencoded");


// for POST
ClientResponse response = resource.queryParams(formData).post(ClientResponse.class, formData);
//ClientResponse response = resource.type("application/x-www-form-urlencoded").post(ClientResponse.class, formData);

String en = response.getEntity(String.class);
System.out.println(en);
System.out.println("oks");
}
}

Wednesday, September 7, 2011

Apache Clustering

http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html
http://tomcat.apache.org/tomcat-5.5-doc/cluster-howto.html
http://tomcat.apache.org/tomcat-3.2-doc/tomcat-apache-howto.html

Friday, April 22, 2011

Oracle Application Framework - just Basics

Oracle Application Framework (OAF) facilitates consultants (both Technical and Functional) to cater to the daily requirements of their clients by enabling them to personalize, customize, extend and also develop new OAF pages and embed the same back into Oracle Applications. By using OA Framework a developer can:


  • create new OAF pages


  • personalize the pages



  • customize the existing (seeded) pages



  • extend the existing (seeded) pages


  • to meet variuos business needs.
     
    So what's the basic difference between personalization, customization, extension and development

    1. Personalization: With this you can alter or tailor the look and feel of pages e.g. you can change the label of a text box, you can hide or show a component based on the logged in user or at the responsibility level or at site level itself.

    2. Customization: Using this you can add the business logic to the already existing controller code e.g. suppose that you want to add one more validation at the click of some button.

    3. Extension: Extension means that you are using the already existing functionality and also adding some more of yours e.g. you want to add some more where conditions to a seeded View Object (VO) query.

    4. Development: Using development you can create new OAF pages and embed the same to Oracle Apps Instance to cater to the business needs of the clients.

    Now depending upon the layout, complexity and business needs an OAF page can be built up by one or many regions. Region is a part of a page which acts as a container for the items or components. By default the top most level of a page has to be of the type "pageLayout" region type. 
     

    Thursday, April 14, 2011

    MySQL DB Table DESC to Excel Sheet Export

    java code :
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package tabledescription;

    import java.io.FileWriter;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.Statement;

    import java.io.IOException;
    import java.io.File;
    import jxl.Range;
    import jxl.Workbook;
    import jxl.format.UnderlineStyle;
    import jxl.write.Label;
    import jxl.write.WritableCellFormat;
    import jxl.write.WritableFont;
    import jxl.write.WritableSheet;
    import jxl.write.WritableWorkbook;

    /**
     *
     * @author yogi
     */
    public class Main {

        public static void main(String[] args) throws IOException {
            Connection connection = null;

            WritableWorkbook workbook = Workbook.createWorkbook(new File("D:/my.xls"));
            WritableSheet sheet = workbook.createSheet("mySheet", 0);

            WritableFont arial10font = new WritableFont(WritableFont.ARIAL, 12, WritableFont.BOLD, false, UnderlineStyle.SINGLE, jxl.format.Colour.BROWN);
            WritableCellFormat arial10format = new WritableCellFormat(arial10font);

            WritableFont detailfont = new WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLACK);
            WritableCellFormat detailformat = new WritableCellFormat(detailfont);

            WritableFont Headerfont = new WritableFont(WritableFont.ARIAL, 11, WritableFont.BOLD, false, UnderlineStyle.DOUBLE_ACCOUNTING, jxl.format.Colour.BLUE_GREY);
            WritableCellFormat Headerformat = new WritableCellFormat(Headerfont);



            FileWriter fw = new FileWriter(new File("D:/my.csv"));
            fw.write("asdf");
            fw.close();

            try {
    // Load the JDBC driver
                String driverName = "com.mysql.jdbc.Driver"; // MySQL MM JDBC driver
                Class.forName(driverName);

    // Create a connection to the database
                String serverName = "localhost";
                String mydatabase = "mysql";
                String url = "jdbc:mysql://" + serverName + "/" + mydatabase; // a JDBC url
                String username = "root";
                String password = "";
                connection = DriverManager.getConnection(url, username, password);

                Statement statment = connection.createStatement();

                ResultSet resultSet = statment.executeQuery("show tables");

                resultSet.next();
                int j = 0;

                while (resultSet.isLast() != true) {

                    Range range = sheet.mergeCells(0, j, 5, 0);

                    Label label = new Label(0, j, resultSet.getString(1), arial10format);
                    sheet.addCell(label);

                    System.out.println("Tables : " + resultSet.getString(1));

                    Statement statment1 = connection.createStatement();
                    ResultSet resultSet1 = statment1.executeQuery("desc " + resultSet.getString(1));

                    ResultSetMetaData RSM1 = resultSet1.getMetaData();

                    /*                Label label8 = new Label(1, j + 1, "Field", Headerformat);
                    sheet.addCell(label8);

                    label8 = new Label(2, j + 1, "Type", Headerformat);
                    sheet.addCell(label8);

                    label8 = new Label(3, j + 1, "Null", Headerformat);
                    sheet.addCell(label8);
                     */
                    resultSet1.next();

                    while (resultSet1.isLast() != true) {
                        int k = j++;
                        for (int i = 1; i <= RSM1.getColumnCount(); i++) {
                            Label label1 = new Label(i, k++, resultSet1.getString(i), detailformat);
                            sheet.addCell(label1);
                            System.out.print(resultSet1.getString(i) + " - ");
                        }
                        System.out.println();
                        resultSet1.next();
                    }
                    resultSet.next();
                }
                workbook.write();
                workbook.close();
            } catch (Exception e) {
                System.out.println("Error : " + e);
            }
        }
    }


    Wednesday, April 13, 2011

    Create Apache,s Projects Structure using ANT

    1 . create bat file
    2. create script file (*.XML)
    3. put the src folder with above 2 file.
    4. put WebPages folder at same location.
    5. Command to create War file : ant -buildfile <buildfilename.xml>
    ------------------------------------------------------------------------------------------

    <?xml version="1.0" ?>
    <project name="AntExample1" default="war" >
       
         <path id="compile.classpath" >
            <fileset dir="WebPages/WEB-INF/lib">
                <include name="*.jar"/>
            </fileset>
        </path>

        <target name="MakeDirectory">
            <mkdir dir="classes"/>
        </target>
      
        <target name="compile" depends="MakeDirectory">
            <javac srcdir="src" destdir="classes" includeantruntime="false" >
            <classpath refid="compile.classpath"/>
            </javac>
        </target>

        <target name="war" depends="compile">
            <war destfile="jarfile\AntExample.war" webxml="WebPages\WEB-INF\web.xml">
                <lib dir="WebPages/WEB-INF/lib"/>
                <classes dir="classes"/>
                <fileset dir="WebPages"/>
            </war>
        </target>
     
    </project>


    Friday, February 18, 2011

    C Program without Main ( or Hidden Main ) - A step Ahead Compiler

    How to write a C program without a main function?. Is it possible to do that. Yes there can be a C program without a main function. Here’s the code of the program without a main function…
     
     
    #include<stdio.h>
    #define decode(s,t,u,m,p,e,d) m##s##u##t
    #define begin decode(a,n,i,m,a,t,e) int begin()
    {
    printf(” hello “);
    }
     
    Does the above program run without the main function? Yes, the above program runs perfectly fine even without a main function. But how, whats the logic behind it? How can we have a C program working without main?
    Here we are using preprocessor directive #define with arguments to give an impression that the program runs without main. But in reality it runs with a hidden main function.
    The ‘##‘ operator is called the token pasting or token merging operator. That is we can merge two or more characters with it.
    NOTE: A Preprocessor is program which processess the source code before compilation.
     
    Look at the 2nd line of program -
    #define decode(s,t,u,m,p,e,d) m##s##u##t
     
    What is the preprocessor doing here. The macro decode(s,t,u,m,p,e,d) is being expanded as “msut” (The ## operator merges m,s,u & t into msut). The logic is when you pass (s,t,u,m,p,e,d) as argument it merges the 4th,1st,3rd & the 2nd characters(tokens).
     
    Now look at the third line of the program -
    #define begin decode(a,n,i,m,a,t,e)
     
    Here the preprocessor replaces the macro “begin” with the expansion decode(a,n,i,m,a,t,e). According to the macro definition in the previous line the argument must be expanded so that the 4th,1st,3rd & the 2nd characters must be merged. In the argument (a,n,i,m,a,t,e) 4th,1st,3rd & the 2nd characters are ‘m’,'a’,'i’ & ‘n’.
    So the third line “int begin” is replaced by “int main” by the preprocessor before the program is passed on for the compiler. That’s it…
    The bottom line is there can never exist a C program without a main function. Here we are just playing a gimmick that makes us beleive the program runs without main function, but actually there exists a hidden main function in the program. Here we are using the proprocessor directive to intelligently replace the word begin” by “main”. In simple words int begin=int main.

    Wednesday, February 2, 2011

    JSF (Java Server Faces)

    What is JSF?
    JSF is new standard framework, developed through Java Community Process (JCP), that makes it easy to build user interfaces for java web applications  by assembling reusable components in a page. You can think of  JSF framework as a toolbox  that is full of  ready to use components where you can quickly  and easily add and reuse  these components many times in a page and capture events generated by actions on these components. So JSF applications are event driven. You typically embed components in a jsp page using custom tags defined by JSF technology and use the framework to handle navigation from one page to another. Components can be nested within another component , for example, input box, button in a form.
    JSF is based on well established Model-View-Controller (MVC) design pattern. Applications developed using JSF frameworks are well designed and easy to maintain then any other applications developed in JSP and Servlets.
    JSF eases the development of web applications based on Java technologies. Here are some of benefits of using JSF:
    • JSF provides standard, reusable components for creating user interfaces for web applications.
    • JSF provides many tag libraries for accessing and manipulating the components.
    • It automatically saves the form data and repopulates the form when it is displayed at client side.
    • JSF encapsulates the event handling and component rendering logic from programmers, programmers just use the custom components.
    • JSF is a specification and vendors can develop the implementations for JSF.
    • There are many GUIs available these days to simplify the development of web based application based on JSF framework.
    JSF Components
    JSF  includes mainly:
    1. Set of APIs to represent and manage state of components that helps server side validation, event handling, page navigation, data conversion etc.
    2. JSP custom tag library to create UI components in a view page.
    The UI (user interface) created using JSF technology runs on server and  output is shown to the client. Goal of JSF  is to create web applications faster and easier. Developers can focus on UI components, events handling, backing beans and their interactions rather than request, response and markup. JSF hides complexities to enable developers to focus on their own specific work.

    Tuesday, February 1, 2011

    Java's role in integrated and distributed ERP applications

    Rapid application development (RAD) and enterprise resource planning (ERP) are necessary bedfellows. The sheer scope of ERP requires that the developer develop applications as quickly as possible, given that a typical ERP implementation will not only involve myriad applications but will also require that many of those applications be reengineered or extended to encompass systems of partner companies.

    The prudent developer, then, must be equipped with tools that facilitate RAD but that can also meet the challenge of ERP. These tools must be able to deftly interface with and extend distributed systems, be integration-friendly, and offer a robust and flexible platform for interface development. Java not only meets these criteria but also may be persuasively defended as the most capable contender in this area.

    Why the choice is important
    Selecting an interface development platform for your ERP application design is not a trivial decision. The selection involves more than simply choosing a package that your people are currently using or going with whatever senior management has adopted as a buzzword. Consider the following points to help make an effective long-range choice that will serve your environment and settle in comfortably with your team:
    • Strong history in the field: ERP’s rapid expansion, particularly in the United States, has necessarily generated tremendous inertia in business process reengineering, with a specific spectrum of features that are common to most implementations. Application development tools that are specifically attuned to those popular features will be found in those platforms that are deeply invested in ERP technologies.
    • Flexibility in communications: The nature of communications in ERP systems requires great flexibility in communication protocols. Applications must often be transparent to internal/external interface considerations, accommodating all manner of routing and file transfer mechanisms. Any successful interface platform, therefore, must be equally robust in both synchronous and asynchronous protocols.
    • Elegant architecture: ERP applications differ from conventional business applications in two primary areas—they are integrated and/or distributed. Either of these by itself imposes an intimidating layer of complexity on application development; both at once can be daunting. Applications must have a clean, deft structure in order to function unambiguously and be maintainable and robust. So any ERP application development platform must inherently promote good design.
    • Robust performance: Both integrated and distributed applications require a high degree of fault tolerance because the nature of both distributed and integrated applications is that there are far more one-to-many and many-to-many relationships in the transfer of data. That is, there are usually many more points at which the system can break down. The only hedge against user frustration in the event of error is to design a system that can deliver all or part of what is required in spite of system faults. This requires an interface development package that facilitates such design.
    • Maintainability: Modification and repair are formidable tasks due to the complexity of integrated and distributed applications. Any interface development platform for ERP work needs to facilitate rapid intervention and friendly testing.
    • Well-developed tool suites: If there’s one thing ERP development doesn’t permit in sufficient measure, it’s time. That’s why project methodology, platform selection, and testing philosophy can’t simply be matters of personal preference. Whether you’re developing, testing, or fixing something, you simply don’t have time for do-it-yourself methods. You need tools that will give you every conceivable shortcut to get to a good result. The quality of the development package—its debug tools and testing utilities—is critical. Go with something that has wide implementation and a hefty user base.

    Java in the ERP universe
    Java meets these standards. It is the prominent platform for ERP application interface, often chosen over the in-house application development suites of the ERP vendor—and for good reason.

    One of the first industry responses to the presence of European ERP technology in the United States was to mate the distributed application potential of ERP platforms to the already-developed potential of Internet applications. This was a match approached with some caution, due to flaccid standards and security concerns. But now that it’s working, it’s working big-time—and who’s the leader in Internet app development? It’s Java, the father of the applet. Java pioneered the Internet spot-job workhorse that enables multiplatform user interfaces capable of complex operation combined with extreme ease of use. This makes Java a natural bridge for the rapidly expanding universe of distributed applications that utilize the Internet, both as interface platform and portal tool.

    Java has many strengths when applied to ERP. It is itself platform-independent; it is object-oriented, and thus it is flexible and modular while simultaneously promoting robust design structure; it accommodates both SAP-synchronous and SAP-asynchronous communications and so is appropriate for interfaces of varying types; and it facilitates the creation of secure applications that cannot be misappropriated to write data or connect to foreign servers indiscriminately—a key consideration in distributed apps, both in-house and across B2B interfaces.

    Other ERP players
    If you are making choices for use in your development department, Java merits your serious attention not only for its inherent qualities but also for the incredible suite of tools available that you can apply in ERP development.

    The popular European ERP platform SAP (now also widely deployed in the United States and around the world) opened its doors to Java when it decentralized its product. Stand-alone SAP modules and the company’s Complimentary Software Program set up an ideal situation for application developers by providing gateway software into the SAP core system (i.e., the databases, which is what SAP and most ERP systems are mostly about), permitting third-party applications to then take the ball and run with it. Anyone who has worked with Java in Internet apps will quickly see that Java is ideal for such an environment; that’s what it was made for. To this end, SAP has created the JRFC package (Java Remote Function Calls), a powerful and diverse class library that gives programmers full access to an SAP system.

    The other ERP superpower is Oracle, and here Java’s available resources are just unbeatable. Both companies have bent over backward to work well together, with the Java 2 Enterprise Edition standard serving as the basis for an Oracle development suite that is all Java, the Oracle Business Component for Java (with Oracle JDeveloper). In addition, Oracle offers Java Server Page Support, for developing DHTML clients (this is integrated with JDeveloper), and support of Business Components for Java (JavaBeans, JavaServlets, etc.) in Oracle Application Server.

    In subsequent articles, we’ll look at some specific applications of Java in SAP and Oracle, with specific attention to distributed and integrated application development.

    Saturday, January 29, 2011

    Tcp Echo (Client - Server)

    //Client

    import java.util.*;
    import java.net.*;
    import java.io.*;

    class client
    {
        public static void main(String[] arr) throws Exception
        {
            BufferedReader br=null;
            PrintWriter pw=null;
            Scanner input=null;
            Socket cs;

            cs = new Socket("localhost",1987);
            input = new Scanner(System.in);
            br = new BufferedReader(new InputStreamReader(cs.getInputStream()));
            pw = new PrintWriter(cs.getOutputStream(),true);

            System.out.print("enter data : ");
            String str=input.nextLine();

            pw.println(str);

            System.out.println("Data from Server : " + br.readLine());
        }
    }

    //Server


    import java.net.*;
    import java.io.*;
    import java.util.*;

    class myserver implements Runnable
    {
        Socket cs;
        Thread t;
        BufferedReader br = null;
        PrintWriter pw = null;

        myserver(Socket cs)
        {
            this.cs=cs;
            t = new Thread(this);
            t.start();
        }
       
        public void run()
        {
            while(true)
            {
                try
                {
                    br = new BufferedReader(new InputStreamReader(cs.getInputStream()));
                    pw = new PrintWriter(cs.getOutputStream(),true);
                    pw.println(br.readLine());
                }
                catch(IOException ie){}
            }
        }

    }

    class server
    {
        public static void main(String[] arr)
        {
            ServerSocket ss;
            try
            {
                ss = new ServerSocket(1987);

                while(true)
                {
                    Socket cs=ss.accept();
                    new myserver(cs);
                }
            }
            catch(IOException ie){}
        }
    }

    Image Encryption & Decryption in JAVA

    // Client.java

    import java.io.*;
    import javax.crypto.*;
    import java.security.*;
    import java.util.*;
    import javax.crypto.spec.*;
    import java.net.*;

    class client
    {
        public static void main(String[] arr) throws Exception
        {

            int i;
            Key k;
            Cipher c;
            KeyGenerator kg;
            FileOutputStream fos;
            CipherInputStream cis;

            Scanner input = new Scanner(System.in);

            Socket cs = new Socket("localhost",1987);
       
            ObjectOutputStream oos = new ObjectOutputStream(cs.getOutputStream());

            c = Cipher.getInstance("DES");
            kg = KeyGenerator.getInstance("DES");
            k = kg.generateKey();

            c.init(Cipher.ENCRYPT_MODE,k);
       
            cis = new CipherInputStream(new FileInputStream(new File("my.jpg")),c);

            int j=0;

            oos.writeObject(k);       

            while((i=cis.read())!=-1)
            {
                oos.writeInt(i);
                oos.flush();
            }
            cs.close();
        }
    }


    // server.java

    import java.io.*;
    import javax.crypto.*;
    import java.security.*;
    import java.util.*;
    import javax.crypto.spec.*;
    import java.net.*;


    class myserver implements Runnable
    {
        Socket cs;
        Thread t;
        Cipher c;
        KeyGenerator kg;

        myserver(Socket cs)
        {
            this.cs=cs;

            try
            {

            }catch(Exception e)
            {
       
            }

            t = new Thread(this);
            t.start();
        }

        public void run()
        {

            try
            {
                c = Cipher.getInstance("DES");
                ObjectInputStream ois = new ObjectInputStream(cs.getInputStream());
                FileOutputStream fos = new FileOutputStream("myenc.jpg");

                Key k = (Key) ois.readObject();
                c.init(Cipher.DECRYPT_MODE,k);

                int i;
                while((i=ois.readInt())!=-1)
                {
                    fos.write(i);
                }
            }
            catch(Exception e)
            {

            }
           
            try
            {
                CipherInputStream cis = new CipherInputStream(new FileInputStream(new File("myenc.jpg")),c);

                FileOutputStream fos1 = new FileOutputStream("again.jpg");

                int j;
                while((j=cis.read())!=-1)
                    fos1.write(j);

                fos1.close();
            }
            catch(Exception e)
            {

            }   
        }
    }

    class server
    {
        public static void main(String[] arr) throws Exception
        {
            Socket cs;
            ServerSocket ss = new ServerSocket(1987);

            while(true)
            {
                cs = ss.accept();
                new myserver(cs);
            }
        }
    }

    Disqus for yogi's talk

    comments powered by Disqus