Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

AES-128 Encryption

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    AES-128 Encryption

    Hey all,

    My site has taken payments via Sagepay for over 6 years now, but they have now increased security and I need to move to encrypting a block of xml using AES-128 with 128-bit block size CBC mode with PCKS#5 (AES-128-CBC-PKCS#5).

    I cannot find any documentation within Alpha to achieve this - please can someone help - else our business is dead!!

    #2
    Re: AES-128 Encryption

    Originally posted by Antony View Post
    Hey all,

    My site has taken payments via Sagepay for over 6 years now, but they have now increased security and I need to move to encrypting a block of xml using AES-128 with 128-bit block size CBC mode with PCKS#5 (AES-128-CBC-PKCS#5).

    I cannot find any documentation within Alpha to achieve this - please can someone help - else our business is dead!!
    Maybe it can be done with help of nodejs (require crypto).

    Comment


      #3
      Re: AES-128 Encryption

      Hi Ken,

      What is "nodejs (require crypto)." and how would that be used from a UX?
      Regards
      Keith Hubert
      Alpha Guild Member
      London.
      KHDB Management Systems
      Skype = keith.hubert


      For your day-to-day Needs, you Need an Alpha Database!

      Comment


        #4
        Re: AES-128 Encryption

        Originally posted by Keith Hubert View Post
        Hi Ken,

        What is "nodejs (require crypto)." and how would that be used from a UX?
        Long story but very shortly: crypro is Nodejs module and you can activate nodejs using xbasic so sure you can use it with UX just like any other xbasic script.

        Comment


          #5
          Re: AES-128 Encryption

          Hi Ken,

          Is it possible you could give the long story. I'm sure Antony and Terry Morgan would appreciate your help with this. Looks like they both have the same issues with Sagepay.

          I'm sure I will on a another project soon.
          Regards
          Keith Hubert
          Alpha Guild Member
          London.
          KHDB Management Systems
          Skype = keith.hubert


          For your day-to-day Needs, you Need an Alpha Database!

          Comment


            #6
            Re: AES-128 Encryption

            Originally posted by Keith Hubert View Post
            Hi Ken,

            Is it possible you could give the long story. I'm sure Antony and Terry Morgan would appreciate your help with this. Looks like they both have the same issues with Sagepay.

            I'm sure I will on a another project soon.

            Howto use crypto is documented here. How to use Nodejs with Alpha is documented in release Notes and two videos in Alpha channel in Youtube.

            What comes to UX I did use it with Phonegap development but because Phonegap is now a PRO feature and I have stopped using any PRO or Enterprise features so in my case I do not use UX anymore so I can not help with it.

            Comment


              #7
              Re: AES-128 Encryption

              Hi
              Anthony, have you managed to write the node file & xbasic to provide the string and password to return the encoded string. I have been trying for a couple of hours & getting nowhere.
              Thanks
              Terry

              Comment


                #8
                Re: AES-128 Encryption

                Has anyone got anywhere with this?
                Thanks
                Terry

                Comment


                  #9
                  Re: AES-128 Encryption

                  I wonder what is the problem here. If you are stuck with this and you are a subscriber then you can ask from Alpha success hours mentoring.

                  Comment


                    #10
                    Re: AES-128 Encryption

                    Originally posted by Terrymorgan View Post
                    Has anyone got anywhere with this?
                    Thanks
                    Terry
                    This link indicates you can use a .net dll provided by sage pay. Not tried it is I don't have a sage pay account to test.

                    http://stackoverflow.com/questions/3...ryption-vb-net


                    Sent from my iPad
                    https://appsbydesign.co.uk/

                    Comment


                      #11
                      Re: AES-128 Encryption

                      Hi Colin,

                      Thanks for the link. As this is all in VB and we are using Xbasic, could you please help with a little translation.

                      I have added the @ which I can see is required as a prepend.

                      All this code is on our Cart page before being submitted to Sage. The FUNCTION SimpleXor is the original to process the string into a blob and then the Base64encode which fortunately is a built in Alpha function, is used to finally encode the complete string to the Sage URL.

                      Here is the existing data string before encoding.
                      Code:
                      Inv_Str="@VendorTxCode="+session.__protected__ad_id+"&Amount="+session.__protected__total_cost+"&Currency=GBP"
                      Inv_Str=Inv_Str+"&Description="+"Recruitment Advert from: "+session.__protected__ad_start+" to: "+session.__protected__ad_end+" = "+session.__protected__ad_days+" days"
                      Inv_Str=Inv_Str+"&SuccessURL="+"http://www.churchjobfinder.co.uk/success.a5w"
                      Inv_Str=Inv_Str+"&FailureURL="+"http://www.churchjobfinder.co.uk/failurePage.a5w"
                      Inv_Str=Inv_Str+"&BillingSurname="+session.__protected__l_name+"&BillingFirstnames="+session.__protected__f_name
                      Inv_Str=Inv_Str+"&BillingAddress1="+session.__protected__inv_addr1
                      Inv_Str=Inv_Str+"&billingCity="+session.__protected__inv_town
                      Inv_Str=Inv_Str+"&billingPostCode="+session.__protected__inv_postcode
                      Inv_Str=Inv_Str+"&billingCountry="+session.__protected__inv_country
                      Inv_Str=Inv_Str+"&DeliverySurname="+session.__protected__l_name+"&DeliveryFirstnames="+session.__protected__f_name
                      Inv_Str=Inv_Str+"&DeliveryAddress1="+session.__protected__house+" "+session.__protected__addr1
                      Inv_Str=Inv_Str+"&DeliveryCity="+session.__protected__town
                      Inv_Str=Inv_Str+"&DeliveryPostCode="+session.__protected__cust_postcode
                      Inv_Str=Inv_Str+"&DeliveryCountry="+session.__protected__country_code
                      
                      FUNCTION SimpleXor AS B (InString as C, Key as C )
                       dim bxor as B 
                      bxor=char_to_blob(instring)
                      dim KeyList[len(key)] as N 
                      
                      for i = 1 to len(Key) 
                      KeyList[i] = asc(substr(Key, i, 1)) 
                      next 
                      
                      for i = 1 to len(InString) 
                      output = asc(substr(InString, i, 1)) .xor. keylist[mod(i-1,len(Key))+1] 
                      bxor.poke(i,output) 
                      next
                      
                      SimpleXor=bxor
                      END FUNCTION
                      
                      Str_crypt= SimpleXor(inv_Str,session.__protected__sage_password)
                      
                      Strcrypt= base64encode(Str_crypt)
                      
                      %>
                      </p>
                      <form id=SagePayForm method=post name=SagePayForm 
                      action="<%a5 ?session.__protected__sageURL%>"><input 
                      value="<%a5 ?session.__protected__protocol%>" type=hidden name=VPSProtocol> 
                      <input value="<%a5 ?session.__protected__TxType%>" type=hidden name=TxType> 
                      <input value="<%a5 ?session.__protected__vendor%>" type=hidden name=Vendor> 
                      <input value="<%a5 ?Strcrypt%>" type=hidden name=Crypt> </form>
                      Please let me know if you require any further info.

                      Dont worry about the test page to Sage, we have that set up.
                      Regards
                      Keith Hubert
                      Alpha Guild Member
                      London.
                      KHDB Management Systems
                      Skype = keith.hubert


                      For your day-to-day Needs, you Need an Alpha Database!

                      Comment


                        #12
                        Re: AES-128 Encryption

                        Hi Antony,

                        I hope your business is not dead.

                        Did you get any satisfaction in resolving the new encoding process?
                        Regards
                        Keith Hubert
                        Alpha Guild Member
                        London.
                        KHDB Management Systems
                        Skype = keith.hubert


                        For your day-to-day Needs, you Need an Alpha Database!

                        Comment


                          #13
                          Re: AES-128 Encryption

                          And here is some Node example for AES-256/CBC with PKCS5.

                          Comment


                            #14
                            Re: AES-128 Encryption

                            Hi Ken,

                            Thanks for reply. I'm sure you are trying to help, but this only makes our problem clear as mud.

                            Is it possible you can help to translate this into an Xbasic funtion?

                            Your help will be greatly appreciated by a number of Alpha developers.
                            Regards
                            Keith Hubert
                            Alpha Guild Member
                            London.
                            KHDB Management Systems
                            Skype = keith.hubert


                            For your day-to-day Needs, you Need an Alpha Database!

                            Comment


                              #15
                              Re: AES-128 Encryption

                              It is Node code and it is javascript and it will stay javascript also with Alpha. You can run above code without modifications inside Alphas exports.handler function and it will work. Check Selwyns videos. I suppose his purpose is that somebody will watch them and learn something.

                              Comment

                              Working...
                              X